我想通过ajax调用传递多个参数。
Ajax功能: -
$.ajax({
url: 'Home/SaveData',
type: 'POST',
data: {"data" : data + "id" : 1}, //<-- I want to send data and id
dataType: "application/JSON",
success: function (result) {
alert("Success");
},
error: function (result) {
data.str = null;
alert("Error");
},
});
}
-----控制器
[HttpPost]
public JsonResult SaveData(string data,int id)
{
foreach(数据中的字符串s .Split(&#39;,&#39;))
{
if(!string.IsNullOrEmpty(s))
{
//在这里执行你的操作
}
}
return Json("");
}
此致 VINIT
答案 0 :(得分:2)
将数据设置为JSON对象时,需要使用逗号而不是加号使其成为键值对的有效对象:
$.ajax({ url: 'Home/SaveData',
type: 'POST',
data: {"data" : data, "id" : 1},
dataType: "application/JSON", success: function (result) { alert("Success");
},
error: function (result) {
data.str = null;
alert("Error");
},
});
}
现在应该绑定到两个动作参数。
答案 1 :(得分:1)
使用$ .ajax时,您可以看到它使用javascript对象来处理所有内容。 您设置的data属性需要另一个javascript对象。
data:{data:data, id:id}
$.ajax({
type: "POST",
url: "http://example.url.tosendto",
data: { data: data, id: id} // Data property of the object wants another javascript object
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
答案 2 :(得分:0)
你可以尝试
data: "data=" + data + "&id=1",