在我的c# mvc4应用程序中,有三个对象希望使用带Jquery的AJAX post传递给ActionResult。对象是两个字符串和一个表单集合。我只传递表单集合没有任何问题,但似乎不能正确地传递所有三个集合的语法。这是我尝试过的:
$(document).ready(function () {
$('#ChangeName').click(function (e) {
var tdata = $('#form1').serialize();
var origname = $('#NameDiv').find('input[name="myName"]').first().val();
var newname = $('#NameDiv').find('input[name="updatedName"]').first().val();
$.ajax({
type: "POST",
data: {tdata + origname + newname},
url: "Home/ChangeName",
success: function (result) { success(result); }
});
});
我还尝试在data:
部分中的每个变量名后使用逗号,并分别使用和不使用方括号。我怎么才能同时通过这三个考试呢?如果成功,两个字符串值在调试时都已正确填充,但是这些值没有出现在ActionResult中,而是显示为null。我也试着把这个放在data下面:contentType: "application/x-www-form-urlencoded",
这也是我的ActionResult的开始:
public ActionResult ChangeName(string Name, string updatedName, FormCollection mCollection)
发布于 2013-04-15 01:07:56
你能不能试试:
$(document).ready(function () {
$('#ChangeName').click(function (e) {
var tdata = $('#form1').serialize();
var origname = $('#NameDiv').find('input[name="myName"]').first().val();
var newname = $('#NameDiv').find('input[name="updatedName"]').first().val();
$.ajax({
type: "POST",
data: {
mCollection: tdata,
Name: origname,
updatedName: newname
},
url: "Home/ChangeName",
success: function (result) { success(result); }
});
});
发布于 2013-04-14 14:29:40
我认为问题在于如何将原始名称和新名称放入ajax请求中。试试这个:
var origname = $('#NameDiv').find('input[name="myName"]').first().val();
var newname = $('#NameDiv').find('input[name="updatedName"]').first().val();
$.ajax({
url: 'Home/ChangeName',
type: "POST",
data: $("#form1").serialize() + "&origname =" + origname + "&newname =" + newname,
success: function (result) { success(result); }
});
https://stackoverflow.com/questions/15996290
复制相似问题