Angular HTTP Post Request,Payload嵌套在JSON对象中

时间:2015-01-20 20:21:31

标签: json angularjs node.js http cors

我正在学习Angular和Node,我正在试图弄清楚如何让我的Angular应用程序点击一个托管其余API的独立应用程序。

请求正文显示为 { '{"name":"test"}': '' } 我希望它显示为 { "name" : "test"}

这是发送帖子请求的前端应用。

$http({
  method: 'POST',
  url: 'http://localhost:8080/api/test',
  data: {
    "name": 'test'
  },
  dataType: "json",
  headers: {'Content-Type': 'application/x-www-form-urlencoded'}
});

它正在达到定义为

的路线
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
app.all('/', function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
 });
router.post('/test', function(req, res) {
    var name = req.body.name;
    console.log(req.body);
});

我希望问题与内容类型是application / x-www-form-urlencoded有关但我无法弄清楚如何允许cors with application / json。

1 个答案:

答案 0 :(得分:0)

JSONP可以用于执行CORS请求(更多关于这里的json / jsonp What are the differences between JSON and JSONP?),以及AngularJS文档中的jsonp using $http