確かにこれは何度も扱われていました...しかし..私が間違っていることを見ることができません!
これは、データをApiControllerにポストバックする単純なJSスクリプトです。
function WebCall(url,parameterObject, callBackFunction) {
this.callbackfunction = callBackFunction;
this.parameterObject = parameterObject;
this.url = url;
self = this;
this.GetData = function () {
//self = this;
$.ajax({
//dataType: "json",
type: "POST",
url: self.url,
data: JSON.stringify(self.parameterObject),
contentType: "application/json;charset=utf-8",
success: function (data) {
self.callbackfunction.call(this, data);
},//self.GotData,
error: function (xhRequest, ErrorText, thrownError)
{
alert("error : " + ErrorText)
},
complete: function () {},
})
}
}
送信されるデータ(parameterObject)は単純です
var postData = {
clientId: id
}
コントローラのc#コードは次のとおりです。
public class ClientPostObject
{
public string clientId;
}
public class ClientDetailController : ApiController
{
[HttpPost]
public ClientDetailWidgetData GetClient(ClientPostObject clientObject)
{
return new ClientModel().GetClientDetail(clientObject.clientId);
}
}
Google Chrome開発ツールでは、XHRはclientId:A0001としてshowinf'form Data'です-それで問題ないように見えますか?
私が何をしようとしても(そして私はウェブ上で多くの提案を経験してきましたが)、投稿データはそこにありません。
確かにシンプルなものです。よろしくお願いします。