我正在将现有的ASP.NET应用程序转换为MVC2,并且我有一个现有的方法,通过jQuery使用Ajax调用,之前可以工作,但现在不起作用。所以看起来我需要做一些改变,因为使用了MVC2,我无法弄清楚。从ASP.NET MVC2应用程序执行Ajax调用的问题应用程序
我已经降低了代码的复杂度,但它仍然不起作用。这是我当前的代码:
该按钮触发jQuery脚本单击
function leaveComment() {
if (validate()) {
$.ajax({
type: "POST",
url: "/Pages/PostBlogComment",
data: "{'name':'Test','url':'Test','email':'Test','body':'Test','postid':'Test'}",
dataType: "json",
success: function (msg) {
//success code goes here
},
error: function (msg) {
//error code goes here
}
});
}
};
在我的控制器进行调用的页面,我创建了以下方法:
public string PostBlogComment(string name, string url, string email, string body, string postid)
{
return "This is a test";
}
调试时,我可以看到PostBlogComment方法被调用,但是有我在这里面临的两个主要问题:
- 该方法的所有参数都接收为空,所以我没有有用的数据可以使用。现在进行测试,所有参数都以代码的形式发送,如
Test
。 - 当返回结果给Ajax方法,错误路径被调用,而不是成功之路,甚至它的方法并返回的字符串为正常(即使在发送的参数是空白)
该错误可能是容易被发现,对于那些谁这些事情经常工作(或至少我希望如此:))
工作就像一个魅力!非常感谢Darin。 – 2011-03-20 22:26:26
编辑后我只好说哇!一个非常全面和翔实的答案。希望我能给你一些额外的赞扬;) – 2011-03-20 23:10:47