В моем приложении C# mvc4 у меня есть три объекта, которые я хочу передать в ActionResult, используя пост AJAX с JQuery. Объектами являются две строки и коллекция форм. У Ive не было проблем с передачей только коллекции форм, но, похоже, не удалось получить синтаксис для передачи всех трех. Вот что пытались Ive:C# JQuery Ajax Post Несколько параметров данных
$(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); }
});
});
Ive также пытались запятые после каждого имени переменной в разделе data:
и без скобок. Как я могу пройти все три? Когда это было успешно, оба строковых значения правильно заполнялись при отладке, но значения не отображаются в ActionResult и вместо этого отображают нуль. Ive также попытался размещения этого ниже данных: contentType: "application/x-www-form-urlencoded",
Вот начало моего ActionResult, а также:
public ActionResult ChangeName(string Name, string updatedName, FormCollection mCollection)
'{}' вы строите объект, объект имеет 'пар ключ: value', вы конкатенации строк внутри объекта без назначения любые пары «ключ: значение». 'data: {tdata: tdata, origname: origname, newname: newname}' или просто 'data: 'tdata =" + tdata + "& origname =" + origname + "& newname =" + newname; ' – Ohgodwhy
@Ohgodwhy Я просто попробовал оба ваших предложений и еще раз при отладке значений, заполняемых в Firebug, но как только код попадает в ActionResult, оба строковых значения отображаются как нулевые – HendPro12