来自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呼叫请求时,错误也会抛出。
答案 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等,它将默认为导致你看到的错误。