我有一个OData控制器,其Action为:
foo = {}
puts foo.
# comment
key?('bar')
这就是我通过ajax调用调用控制器的方式:
[HttpPost]
[ODataRoute("PostUpdate")]
public async Task<string> PostUpdate(HttpRequestMessage eventsToUpdate)
{
//Do something
}
问题在于控件是在Action方法中还是在我放置时
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) {
}
});
在即时窗口中我得到的输出为:eventsToUpdate.Content.ReadAsStringAsync().Result
这有什么问题?
答案 0 :(得分:1)
问题在于eventsToUpdate
方法的参数。在ajax中,要使用数据调用方法,必须使用数据类型匹配参数名称。首先,创建一个名为HttpRequestMessage
的json对象,类型为$.ajax({
url :Url,
type:"POST",
data: eventsToUpdate,
dataType : 'json',
success : function(result) {
}
});
,并调用如下:
Server