Restangular Get()和Post()处理额外的Post错误“/adsf 405方法不允许

Restangular Get() and Post() work with additional POST error "..../adsf 405 method not allow

本文关键字:Post adsf 方法 不允许 错误 Get 处理 Restangular      更新时间:2023-09-26

我有使用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来自哪里?为什么我的get请求也在发送邮件?

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

哦,我找到了发生这种情况的原因。这是我的错误,我把data.post('adsf')放在Chrome的watch表达式中,以调试很久以前的东西。它发布了它并引发了这个问题。

不时清理这些调试监视表达式是很好的。