【发布时间】:2014-10-21 14:23:07
【问题描述】:
我以前用这种方式编码,效果很好:
C#:
[HttpPost]
public object Query([FromBody]string sql)
{
// ...
}
Js:
$.ajax({
url : "/api/controllerName/query",
data : "=SELECT * FROM table1",
dataType : "JSON",
type : "POST",
success : function(res){ console.log(res); },
error : function(req, stat, err){ console.log(stat + ": " + err); }
});
所以现在我对 PUT API 以相同的方式执行此操作,但它不起作用:
C#:
[HttpPut]
public object dispatchProduct(int id, [FromBody]string dispatchStatus = "dispatched")
{
// ...
}
Js
$.ajax({
url: "/api/auction/dispatchProduct/2",
type: "PUT",
data: "=blablabla",
dataType: "JSON"
}).done( function createBiditem_doneHandler(result){
console.log(result);
}).fail( function createBiditem_failHandler(req, stat, err){
console.log(req);
console.log(stat);
console.log(err);
});
我遇到了一个异常:
{ "Message": "发生错误。", "ExceptionMessage": "可选 参数“dispatchStatus”不受支持 'FormatterParameterBinding'。", "ExceptionType": "System.InvalidOperationException", "StackTrace": null }
有人可以帮忙吗?我已经用谷歌搜索了很长一段时间,但所有案例都与我的不同。
非常感谢!
【问题讨论】:
标签: asp.net-web-api