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):