[英]Action not receiving AJAX data
我的動作沒有收到AJAX參數之一,有人知道為什么嗎?
AJAX
$('#formLista').submit(function (e) {
e.preventDefault();
if ($(this).validate()) {
$.ajax({
url: '@Url.Action("CriarListaAcesso")',
type: 'POST',
dataType: 'JSON',
data: $(this).serialize() + '&idLista=@ViewBag.codLista',
success: function (obj) {
if (obj.success == true) {
alert('Acesso definido com sucesso');
$('#fecharAcLista').click();
}
else {
alert('### ocorreu um erro ao definir o acesso ###');
}
}
}).always(function () {
});
}
});
行動
//I receive the model of the form, but not the idLista string
public ActionResult CriarListaAcesso(UsuarioLista usrListas, string idLista)
{
}
ViewBag.codLista具有代表對象ID的字符串。
嘗試對ID進行硬編碼,但仍接收空字符串
$.ajax({
url: '@Url.Action("CriarListaAcesso")',
type: 'POST',
data: {usrListas: $(this).serialize() , idLista : '1234'},
success: function (obj) {
if (obj.success == true) {
alert('Acesso definido com sucesso');
$('#fecharAcLista').click();
}
else {
alert('### ocorreu um erro ao definir o acesso ###');
}
}
});
操作空字符串圖像: http : //gyazo.com/05bc1243600b62eab2a14b50da17af10
我創建了一種解決方法,將字符串傳遞給模型的屬性之一:
<input type="text" hidden name="codLista" value="@ViewBag.codLista">
所以我的ajax電話看起來像這樣
$('#formLista').submit(function (e) {
e.preventDefault();
if ($(this).validate()) {
$.ajax({
url: '@Url.Action("CriarListaAcesso")',
type: 'POST',
dataType: 'JSON',
data: $(this).serialize(),
success: function (obj) {
if (obj.success == true) {
alert('Acesso definido com sucesso');
$('#fecharAcLista').click();
}
else {
alert('### ocorreu um erro ao definir o acesso ###');
}
}
}).always(function () {
});
}
});
你可以做這樣的事情
var v=$("form").serialize();
v=v.replace("=",":").replace("&",",");
然后將其包裝在json括號中
data:{v},...
希望這可以幫助
您可以創建新的數組元素並追加到序列化數據
var data = $(this).serializeArray();
data.push({name: 'idLista', value: @ViewBag.codLista});
或者將您的表單類型從帖子中獲取
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.