我的控制器中有这个功能
public ActionResult postcomment(string gCaptcha,string txtName, string txtEmail, string txtMessage)
我将JQuery Ajax Querystring(PlainText)作为
传递gCaptcha=A&txtName=B&txtEmail=C&txtMessage=D
当我暂停post postment代码时,参数的值为空。我需要做什么,RoutesConfig文件中的任何内容?
这是我的JQuery功能。
$.ajax({
type: "POST",
url: '@(Request.RawUrl + "/postcomment")',
dataType: "text",
data: data,
contentType: "text/plain; charset=utf-8",
success: function() {
alert('success');
},
failure: function(response) {
alert(response.d);
}
});
});
答案 0 :(得分:0)
我也有帖子上的值为null的问题。我要做的是创建一个对象,并使该对象成为action方法的参数。所以你会做类似的事情:
public class CommentViewModel
{
public string gCaptcha { get; set; }
public string txtName { get; set; }
public string txtEmail { get; set; }
public string txtMessage { get; set; }
}
public ActionResult postcomment(CommentViewModel comment)
正如Stephen在评论中提到的那样,将您的数据作为json对象并从Ajax调用中删除contentType