我正在使用ExtJs作为前端而NodeJs(express)用于后端!
我已经从ExtJs方法发出了一个帖子请求,但它发出错误400 Bad Request,
这是我的ExtJs方法代码:
Ext.Ajax.request({
url: '/controllers/test.js',
method: 'POST',
params: { "user": "test" },
headers: { "Content-Type": "application/json" },
success: function(res){ console.log("Success: " + res.responseText); },
failure: function(err){ console.log("Error: " + err.responseText); },
scope: this
});
我在网址上做了一些更改,比如(home.html,test.json,test.js),但是当我调用该方法时会发生同样的问题,
请帮我解决这个方法,或者给我任何其他ExtJs调用NodeJs的解决方案,
任何形式的帮助对我都有用
答案 0 :(得分:1)
尝试发送这样的请求:
Ext.Ajax.request({
url: '/test20090729',
method: 'POST',
jsonData: { "user": "test" },
headers: { "Content-Type": "application/json" },
success: function(res){ console.log("Success: " + res.responseText); },
failure: function(err){ console.log("Error: " + err.responseText); },
scope: this
});
对我来说,似乎你没有在快递中注册路线。张贴到controllers/test.js
对我来说听起来有点奇怪。
我已将您的网址更改为“/ test20090729”。在您的快递应用中,请添加以下代码:
app.post('/test20090729', function (req, res) {
console.log(req.body);
res.send('I got your body!');
});
另一件事:您确定,您可以使用相对网址到达您的快速申请吗?它是静态提供ExtJS应用程序吗?那么没关系,如果没有,你可能会遇到Same-Origin-Policy问题但是SO上有数百个问题。
修改我在res.send(...)之后删除了.end()
,因为这会导致问题,尤其是在与express.session一起使用时。