-1
我使用引導在ASP.NET MVC上製作一個CRUD頁面。我的問題是當我加載一個不同的記錄,並試圖更新。隨着一些記錄工作正常,並與其他人沒有。我得到404沒有發現錯誤。Ajax Jquery拋出404未找到有時
我使用相同的動作插入或更新。這些字段都是字符串。 起初我使用jquery serialize()函數來獲取表單的值。
function InsertButtonEvent() {
var formvalues = $('#filialForm').serialize();
$.blockUI({ message: '<h1>Un momento por favor..</h1>' });
$.ajax({
type: "GET",
url: '../CatFiliales/InsertItem',
data: formvalues,
error: function (xhr, ajaxOptionx, thrownError) {
swal('error', xhr.status + ' ' + thrownError, 'error');
$.unblockUI();
}
})
.done(function (htmlPartialView) {
swal('', 'Registro Insertado', 'success');
renderPartialView(htmlPartialView);
});
比較表單值後,幾個變量丟失。所以,我強迫發送相同的變量(即使沒有數據)。結果仍然是一樣的,有時候我可以打控制器方法,有時候我會得到404 Not Found Error。
function InsertButtonEvent() {
var edo = $('#cmbEstadoLegal').val();
var formvalues = $('#filialForm').serialize();
var txtClaveFilialjq = $('#txtClaveFilial').val();
var txtDescripcionBrevejq = $('#txtDescripcionBreve ').val();
var txtDescripcionjq = $('#txtDescripcion').val();
var txtIdFiscaljq = $('#txtIdFiscal').val();
var txtNodoFilialjq= $('#txtNodoFilial ').val();
var cmbEstadojq = $('#cmbEstado').val();
var cmbParticipacionAccionariajq= $('#cmbParticipacionAccionaria').val();
var cmbCveEdoOperjq = $('#cmbCveEdoOper').val();
var cmbGiroFilialjq= $('#cmbGiroFilial').val();
var cmbGrupoFilialesjq= $('#cmbGrupoFiliales').val();
var cmbParaestataljq= $('#cmbParaestatal').val();
var cmbTipoEmpresajq= $('#cmbTipoEmpresa').val();
var cmbEstadoLegaljq= $('#cmbEstadoLegal').val();
var txtFecConstitjq = $('#txtFecConstit').val();
var cmbMonedaNormalizadajq = $('#cmbMonedaNormalizada ').val();
var cmbMonedasAccionesjq = $('#cmbMonedasAcciones').val();
var txtValorContableAccionesjq = $('#txtValorContableAcciones').val();
var txtFecValAccionesjq= $('#txtFecValAcciones').val();
var txtDomiciliojq = $('#txtDomicilio').val();
var txtSitioWebFinaljq = $('#txtSitioWebFinal').val();
var txtTelefonojq= $('#txtTelefono').val();
var txtNumTeleFaxjq= $('#txtNumTeleFax').val();
var cmbPaisjq= $('#cmbPais').val();
var cmbResidenciasjq = $('#cmbResidencias').val();
var cmbNacionalidadesjq = $('#cmbNacionalidades').val();
var txtObjetivojq = $('#txtObjetivo').val();
var txtObservacionesjq = $('#txtObservaciones').val();
$.blockUI({ message: '<h1>Un momento por favor..</h1>' });
$.ajax({
type: "GET",
url: '../CatFiliales/InsertItem',
data: {
txtClaveFilial : txtClaveFilialjq ,
txtDescripcionBreve : txtDescripcionBrevejq ,
txtDescripcion : txtDescripcionjq,
txtIdFiscal : txtIdFiscaljq ,
txtNodoFilial : txtNodoFilialjq ,
cmbEstado : cmbEstadojq ,
cmbParticipacionAccionaria : cmbParticipacionAccionariajq ,
cmbCveEdoOper : cmbCveEdoOperjq ,
cmbGiroFilial : cmbGiroFilialjq ,
cmbGrupoFiliales : cmbGrupoFilialesjq ,
cmbParaestatal : cmbParaestataljq ,
cmbTipoEmpresa : cmbTipoEmpresajq ,
cmbEstadoLegal : cmbEstadoLegaljq ,
txtFecConstit : txtFecConstitjq ,
cmbMonedaNormalizada : cmbMonedaNormalizadajq,
cmbMonedasAcciones : cmbMonedasAccionesjq ,
txtValorContableAcciones : txtValorContableAccionesjq ,
txtFecValAcciones : txtFecValAccionesjq ,
txtDomicilio : txtDomiciliojq ,
txtSitioWebFinal : txtSitioWebFinaljq,
txtTelefono : txtTelefonojq,
txtNumTeleFax : txtNumTeleFaxjq ,
cmbPais : cmbPaisjq ,
cmbResidencias :cmbResidenciasjq,
cmbNacionalidades :cmbNacionalidadesjq ,
txtObjetivo: txtObjetivojq,
txtObservaciones: txtObservacionesjq
},
error: function (xhr, ajaxOptionx, thrownError) {
swal('error', xhr.status + ' ' + thrownError, 'error');
$.unblockUI();
}
})
.done(function (htmlPartialView) {
swal('', 'Registro Insertado', 'success');
renderPartialView(htmlPartialView);
});
這裏是我的控制器代碼
public ActionResult InsertItem(
string txtClaveFilial,
string txtDescripcionBreve ,
string txtDescripcion ,
string txtIdFiscal ,
string txtNodoFilial ,
string cmbEstado ,
string cmbParticipacionAccionaria ,
string cmbCveEdoOper ,
string cmbGiroFilial ,
string cmbGrupoFiliales ,
string cmbParaestatal ,
string cmbTipoEmpresa ,
string cmbEstadoLegal,
string txtFecConstit ,
string cmbMonedaNormalizada ,
string cmbMonedasAcciones ,
string txtValorContableAcciones ,
string txtFecValAcciones ,
string txtDomicilio ,
string txtSitioWebFinal ,
string txtTelefono ,
string txtNumTeleFax ,
string cmbPais ,
string cmbResidencias ,
string cmbNacionalidades ,
string txtObjetivo ,
string txtObservaciones
)
{
//Do all the stuff with variables;
return PartialView("_Registers", catFilialesViewModel.Filiales);
}
我認爲錯誤是因爲有時不發送的所有參數的方法。但是,即使設置所有參數,爲什麼還沒有工作?
非常感謝
'我使用相同的操作插入或更新'... whyyyy !!! – Hackerman
因爲我不想在jQuery代碼中添加邏輯。相反,我在控制器內部執行邏輯。 –
此外,當你做CRUD操作時,最好使用'post'而不是'get' ....你應該使用get來獲取這樣的信息和東西......也可以在插入項中使用斷點方法,以便更好地瞭解404反應的實際原因......美國政府間諜活動委員會,美國國務卿阿爾古納認爲, – Hackerman