Jquery 数据未从$.ajax()传输到服务器端
嗨,我想发布一些字符串服务器端点击一个按钮 并有如下代码Jquery 数据未从$.ajax()传输到服务器端,jquery,Jquery,嗨,我想发布一些字符串服务器端点击一个按钮 并有如下代码 $('#sendData').click(function () { $.ajax({ url: '/home/SendData', type: 'POST', dataType: 'string', data:
$('#sendData').click(function () {
$.ajax({
url: '/home/SendData',
type: 'POST',
dataType: 'string',
data: JSON.stringify(somedata),
contentType: 'text/plain; charset=utf-8'
});
});
在控制器中我有一个方法
[AcceptVerbs(HttpVerbs.Post)]
public string SendData(string emaildat)
{
string data=emaildat;
}
但是emaildat是空的(没有数据)
就是说ajax方法是正确的。请帮我解决这个问题。嗯,
.ajax()
的数据
属性需要具有键值对的对象映射或字符串(必须是查询字符串)
所以你不能只是在那里插入一个JSONized字符串。像这样做:
data: {
mydata: JSON.stringify(somedata)
},
然后访问
.mydata
服务器端(不要忘记在那里解析)。您可以尝试序列化表单,而不是将其作为JSON发送出去
data: $("#formid").serialize()
如果您将键设置为“emailDat”,我很确定modelbinder会将其选中并将其添加到actionmethod的参数中。我怀疑我可以为该数据(来自客户端)指定什么数据类型,比如publicstringsenddata(stringemaildat){stringdata=emaildat;},以及如何在服务器端解析它。