1

我是 Node.JS 和 Express 的新手,如果这是一个新手问题,请原谅我。我正在使用一个 JQuery EasyUI DataGrid,它被配置为使用“get”作为填充方法。但是,当请求到达 Express 服务器时,它似乎是一个进入的 POST,并且调用了错误的服务器方法。

卡了这几天了...请帮助...

从 app.js 中提取

 app.configure(function(){
   app.set('port', process.env.PORT || 3000);
   app.set('views', __dirname + '/views');
   app.set('view engine', 'jade');
   app.use(express.favicon());
   app.use(express.logger('dev'));
   app.use(express.bodyParser());
   app.use(express.methodOverride());
   app.use(express.cookieParser('your secret here'));
   app.use(express.session());
   app.use(app.router);
   app.use(express.static(path.join(__dirname, 'public')));
 });

 app.configure('development', function(){
   app.use(express.errorHandler());
 });

 app.get('/', routes.index);
 app.get('/users', user.list);
 app.get('/TrainingPlans', TrainingPlans.findAll);    // THIS IS THE ONE I WANT TO USE 
 app.get('/LoadSampleData',populateDB);
 app.get('/ClearAllTrainingPlans',clearTPsFromDB);
 app.get('/TrainingPlans/:id', TrainingPlans.findById);
 app.put('/TrainingPlans/:id', TrainingPlans.updateTrainingPlan);
 app.delete('/TrainingPlans/:id', TrainingPlans.deleteTrainingPlan);

从 INDEX.HTML 中摘录

 <table id="tpstable" title="Training Plans" class="easyui-datagrid"      style="width:550px;height:250px"
        url="/TrainingPlans"
        toolbar="#toolbar"
        method="get"
        rownumbers="true" fitColumns="true" singleSelect="true">
     <thead>
     <tr>
         <th field="name" width="50">Name</th>

         <th field="_id" width="70">_id</th>

         <th field="description" width="100">Description</th>
     </tr>
     </thead>
 </table>
 <div id="toolbar">
     <a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true"      onclick="create_trainingplan()">Create Plan</a>
     <a href="#" class="easyui-linkbutton" iconCls="icon-edit" plain="true"      onclick="edit_trainingplan()">Edit Plan</a>
     <a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true"      onclick="delete_trainingplan()">Remove Plan</a>
 </div>

通过使用而不是在 HTML 表定义中设置来自 JS 的 Data DataGrid,让它在最后工作。

$('#tpstable').datagrid({
    url:'/TrainingPlans',
    toolbar:"#toolbar",
    method:"get",
    rownumbers:"true",
    fitColumns:"true",
    singleSelect:"true" 
 });

谢谢大家的帮助......和

科马克

4

0 回答 0