我正在尝试按照this Angular tutorial来处理带有承诺的表单提交。我在节点上运行我的服务器,我使用快递处理路由。提交表单后我就到了
行var $promise = $http.jsonp('response.json', config)
我的应用程序通过尝试查找response.json的路由进行响应,然后重定向到404页面。然后我得到一个未捕获的语法错误,因为它试图将我的jade模板解析为response.json。
解决此问题的最佳方法是为json响应定义路由吗?或者还有其他我想念的东西?
答案 0 :(得分:1)
将JSON数据发送到您的服务器只是在特定路径上的正常请求,其中数据作为JSON发送。如果请求是GET,则数据是URL编码的。如果请求是POST,则数据被编码发送到正文中。在任何一种情况下,body-parser模块都会为你解析它。
以下是"/response.json"
的获取请求的简单示例:
var express = require("express");
var app = express();
var bodyParser = require('body-parser');
app.get('/response.json', bodyParser.json(), function (req, res) {
if (!req.body) return res.sendStatus(400);
// req.body is the parsed JSON that was sent with this request
// process it here
});
app.listen(80);
使用body-parser模块有几种不同的方法。您可以在此处查看其他几个示例:How do I consume the JSON POST data in an Express application。
而且,客户端代码将是:
var $promise = $http.jsonp('/response.json', config)