Javascript 未为$Http.PUT解析JSON对象
有一个愚蠢的时刻,我不知道怎么了 我正在尝试调用PUT(Web API)命令 代码片段:Javascript 未为$Http.PUT解析JSON对象,javascript,json,angularjs,asp.net-web-api,Javascript,Json,Angularjs,Asp.net Web Api,有一个愚蠢的时刻,我不知道怎么了 我正在尝试调用PUT(Web API)命令 代码片段: var person = { "id": 1 "name": "John", "age": 25, "country": Australia }; var serviceUrl = 'http://myapi/person'; console.log(person); function updatePerson(id, personObject){ return $http.pu
var person = {
"id": 1
"name": "John",
"age": 25,
"country": Australia
};
var serviceUrl = 'http://myapi/person';
console.log(person);
function updatePerson(id, personObject){
return $http.put(serviceUrl + '/' + id, personObject).then(
function(results){
return results;
});
};
updatePerson(1, person).then(
function(results){
},
function(error){
}
);
本质上,当我调用上述函数时,我得到一个400(错误请求)错误
使用fiddler,我注意到传递的数据(在TextView选项卡中)的形式如下:
id=1&name=John&age=25&country=Australia
使用Postman,我将原始JSON内容定义如下:
{
"id": 1
"name": "John",
"age": 25,
"country": Australia
}
PUT命令成功执行
在fiddler中,Textview代表了我上面提到的那个
在哪里调试/查看有什么建议或想法吗
附言。
我刚刚注意到我所有的PUT命令都返回了400错误(我之前已经测试过了,并且工作正常)。我不完全确定我的解决方案中发生了什么变化,因为所有的PUT函数都停止正常工作
更新:
在Chrome的控制台日志中,我可以看到对象的定义如下:
{
"id": 1
"name": "John",
"age": 25,
"country": Australia
}
{id:1,姓名:约翰,年龄:25,国家:澳大利亚}
当我直接粘贴到Postman时,它也可以正常工作。当你打电话时,它可以正常工作,当你使用angular时,它失败了,你可以发布标题吗?特别是“Accept”和“Content-Type”标题,但这一切都很好。您没有在$http上进行任何配置,是吗?我想我可能已经通过您提供的提示@JasonGoemaat解决了这个问题-检查$http上的配置。可能重复的