Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery ajax发布到MVC2操作_Javascript_Jquery_Json_Asp.net Mvc - Fatal编程技术网

Javascript Jquery ajax发布到MVC2操作

Javascript Jquery ajax发布到MVC2操作,javascript,jquery,json,asp.net-mvc,Javascript,Jquery,Json,Asp.net Mvc,我使用以下脚本发布到和端点,它在服务器上命中断点,因此我知道路由是正确的 $(document).ready(function() { var o = new Object(); o.message = 'Hi from the page'; $.ajax({ type: 'POST', contentType: 'application/json;', data: JSON.stringify(o), dataType: 'json', ur

我使用以下脚本发布到和端点,它在服务器上命中断点,因此我知道路由是正确的

$(document).ready(function() {
  var o = new Object();
  o.message = 'Hi from the page';
  $.ajax({
    type: 'POST',
    contentType: 'application/json;',
    data: JSON.stringify(o),
    dataType: 'json',
    url: 'home/PingBack',
    success: function(result) {
      alert(result.success);
    }
  });
});
服务器上的端点如下所示

public JsonResult PingBack(MHolder message)
{
    return Json(new { success = "steve"});
}
public class MHolder
{
    public string message { get; set; }
}
模型是这样的

public JsonResult PingBack(MHolder message)
{
    return Json(new { success = "steve"});
}
public class MHolder
{
    public string message { get; set; }
}

我敢肯定,在过去,这些值已经自动绑定到模型,但我似乎无法得到任何绑定到atm的东西!即使我只是将值作为字符串传递,我敢肯定我遗漏了任何想法是愚蠢的?

乍一看,代码对我来说似乎没问题

尝试使用

data : {message : "Hi from the page."},
…以查看这是否会导致填充MHolder实例


此外,还可以使用类似Fiddler的工具来捕获您的请求,并允许您准确地查看正在发布的内容。

需要注意的几点。您正在以JSON字符串(
contentType:'application/JSON'
JSON.stringify(o)
)的形式发送请求,而在服务器上,您需要类型为
MHolder
的对象。默认模型绑定器不会执行此转换。您需要编写一个能够将JSON反序列化回MHolder实例的自定义模型绑定器,或者将请求作为
key=value
对发送(不stringify):