执行ajax post请求时记录错误

时间:2017-03-02 09:57:58

标签: ajax asp.net-mvc

来自cstml页面的Ajax调用:

function InvoiceableItems(data) {
            return $.ajax({
                type: 'POST',
                url: apiRoot + 'createOrUpdate',
                data: JSON.stringify(data),
                contentType: 'application/json',
                dataType: "json"
            });
        }

Api控制器:

[HttpPost]
public IHttpActionResult CreateOrUpdate(QuotationItemInvoiceableItemsSavingDto[] data)
{
    if (data == null || data.Length == 0)
    {
        return BadRequest();
    }
    return StatusCode(HttpStatusCode.NoContent);
}

firefox中的控制台错误:

  

请求的资源不支持http方法   ' GET'

当我们使用chrome访问网络并点击api呼叫请求时,错误也会抛出。

1 个答案:

答案 0 :(得分:0)

您是否错过了InvoiceableItems(数据)的结束括号?或者已经定义了apiRoot?

<script type="text/javascript">
    var apiRoot = "http://<myurlbase>";

    function InvoiceableItems(data) { 
        return $.ajax({ 
            type: 'POST', 
            url: apiRoot + 'createOrUpdate', 
            data: JSON.stringify(data), 
            contentType: 'application/json', 
            dataType: "json" }); 
        }
    }
</script>

据推测,jQuery在被调用之前已经被定义了吗?

您可以使用fiddler测试您的方法是否按预期工作,将方法设置为post。如果你把一个网址放入chrome,firefox等,它将默认为导致你看到的错误。