【问题标题】:ODataController Post method "undefined"ODataController Post 方法“未定义”
【发布时间】:2016-05-09 12:57:14
【问题描述】:

我有一个 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 :&amp;undefined" 这里有什么问题?

【问题讨论】:

    标签: .net ajax asp.net-mvc asp.net-web-api odata


    【解决方案1】:

    问题出在PostUpdate 方法的参数上。在 ajax 中,要使用数据调用方法,您必须将参数名称与数据类型匹配。首先,创建一个名为eventsToUpdate 类型为HttpRequestMessage 的json 对象,并像这样调用:

    $.ajax({
    url :Url,
    type:"POST",
    data: eventsToUpdate,
    dataType : 'json',
    success : function(result) {
    
    }
    });
    

    【讨论】:

      猜你喜欢
      • 2014-10-23
      • 2017-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多