我从这样的javascript代码调用webservice:
function callActionAjax(action, data) { //action is "sendnotification"
var deferred = jQuery.Deferred();
getWebServiceUrl().done(function (webServiceUrl) { //returns https://server/api
var s = {
crossDomain: true,
xhrFields: { withCredentials: true },
url: webServiceUrl + "/" + action,
data: "foobar", //also tried: JSON.stringify(data)
type: "POST"
//tried contentType: "application/json"
};
jQuery.ajax(s).done(function () {
deferred.resolve();
}).fail(function () {
deferred.reject();
});
});
return deferred.promise();
}
我也有MVC服务,它接收请求。我的控制器看起来像这样:
public class SendNotificationController : ApiController
{
public void PostSendNotification(dynamic data)
{
Console.Write("foo");
}
public string GetSendNotification()
{
return "Foo Bar.";
}
}
我在PostSendNotification中有一个断点。我可以看到,该方法接收请求,但data
只是空对象。当我尝试在JS端添加contentType
时,断点不会被击中。
如何调整我的代码?最后,我想在Controller中检索我的data
并能够用它做一些事情。
答案 0 :(得分:0)
改变你的
type: "POST"
到
method: 'POST'
欢呼声