Restangular Get()和Post()使用额外的POST错误“.... / adsf 405方法不允许

时间:2014-10-22 14:10:00

标签: javascript angularjs resources asp.net-web-api2 restangular

我有使用Route的以下方法的示例Web API 2。 从Restangular我用.get('x')检索,然后我得到一个对象,在通过promise的成功函数后,我得到了额外的POST错误说     http://xxxx/api/Folder/**XX**/adsf **404 (Not Found)**, 其中XX表示来自该检索对象的任何Id值。

Web API C#

[Route("Api/Folder")] 
public IEnumerable<Models.mockup.FolderModel> GetRoots()
    {
        return Models.mockup.FolderModel.Mock();
    }
    [Route("Api/Folder/{objId}")]
    public IHttpActionResult Get(string objId)
    {
        Models.mockup.FolderModel _f = Models.mockup.FolderModel.Mock().ToArray()[3];
        return Ok(_f);
    }
    [Route("Api/Folder")]
    public IHttpActionResult Post([FromBody]Models.mockup.FolderModel value)
    {
        string s = "testing";
        value.Name = "server respnse";
        return Ok(new Models.mockup.FolderModel());
    }

以下是AngularJs中的Restangular

        Restangular.all('api/Folder').get('whatever').then(function(data){
            var _a = data;
         })

我从get获取了我请求的数据,但另外,还有一个POST错误,如下所示。 adsf 来自哪里?为什么我的请求也发送邮件?

Chrome控制台中的

错误:      **POST http://xxxx:51997/api/Folder/3/adsf 404 (Not Found) ** 其中3是检索对象的ID

1 个答案:

答案 0 :(得分:0)

哦,我发现了它发生的原因。这是我的错误,我将数据.post(&#39; adsf&#39;)放在Chrome的监视表达式中,以便长时间调试。它发布了它并导致了这个问题。

不时清理这些Debug Watch Expressions非常有用。