Javascript 未为$Http.PUT解析JSON对象

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

有一个愚蠢的时刻,我不知道怎么了

我正在尝试调用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.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上的配置。可能重复的