我有一个OData控制器,它的操作如下:
[HttpPost]
[ODataRoute("PostUpdate")]
public async Task<string> PostUpdate(HttpRequestMessage eventsToUpdate)
{
//Do something
}这就是我通过ajax调用调用控制器的方式:
var updateDataArray = [];
for(i=0;i<5;i++)
{
//Build the data
var updatedT = {
"Id" : (Id)?Id:0,
"Desc" : CalculatedDesc
}
updateDataArray.push(updatedT);
}
Url = "Api/Odata/PostUpdate"
$.ajax({
url :Url,
type:"POST",
data:updateDataArray ,
dataType : 'json',
success : function(result) {
}
});问题是当控件在Action方法中时,当我将eventsToUpdate.Content.ReadAsStringAsync().Result放在即时窗口中时,我得到的输出是:"Undefined :&undefined",这里有什么问题?
发布于 2016-02-01 14:55:39
问题出在PostUpdate方法的参数上。在ajax中,要调用带有数据的方法,必须将参数名称与数据类型匹配。首先,使用HttpRequestMessage类型创建一个名为eventsToUpdate的json对象,并像这样调用:
$.ajax({
url :Url,
type:"POST",
data: eventsToUpdate,
dataType : 'json',
success : function(result) {
}
});https://stackoverflow.com/questions/35124358
复制相似问题