Я использую $ .ajax для отправки формы, я хочу добавить пару ключ-значение в представление, которое не является частью ввода формы, и оно является общим для всех моих формы. Итак, я планировал переместить общую часть в ajaxsetup. Я хочу, чтобы получить их в действии, как два параметра, как ModelData, TokenKey Мой HTML кодПоследовательная информация с дополнительным параметром через ajaxsetup
<form id="frm">
@Html.TextBoxFor(m => m.Name)
<input type="button" value="Test" onclick="AjaxPost(); return false;" />
</form>
My Java Script
$(function() {
$.ajaxSetup({ data: { 'TokenId': 'TokenId Value'} });
});
function AjaxPost() {
var frm = $("#frm");
$.ajax({
url: '/Home/Index',
type: 'POST',
data: frm.serialize(),
success: function() { }
});
}
Это не за работой! Если я удалил данные в функции AjaxPost, то TokenId отправляет, В противном случае его нет.
В соответствии с документами он устанавливает значения по умолчанию для будущих запросов Ajax. Он не добавит новый 'key' в' frm.serialize() 'объект, я полагаю .. – Rayon
Могу ли я узнать, почему вы не храните пару ключевых значений в скрытом поле, чтобы он также передавался аналогично другим полям формы ? – Shuvro
Самый простой способ сделать это: добавить скрытое поле в вашу форму с именем TokenId и установить необходимое значение для этого –