2016-06-10 2 views
-1

Im는 부트 스트랩을 사용하여 ASP.NET MVC에서 CRUD 페이지를 만듭니다. 내 문제는 differents 레코드를로드하고 업데이트하려고 할 때입니다. 일부 레코드는 정상적으로 작동하고 다른 레코드는 정상적으로 작동하지 않습니다. 404 오류를 찾을 수 없습니다.Ajax Jquery가 404 번을 몇 번 throw합니다.

삽입 또는 업데이트 할 때 동일한 작업을 사용합니다. 필드는 모두 문자열입니다. 처음에는 jquery serialize() 함수를 사용하여 양식의 값을 가져 왔습니다.

양식 값을 게시와 비교하면 몇 가지 변수가 누락되었습니다. 그래서, 저는 (데이터가 없어도) 동일한 변수를 보내도록 강요합니다. 그리고 결과는 여전히 동일합니다. 컨트롤러 메소드에 충돌 할 수있는 시간이 있습니다. 그리고 때때로 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); 
     } 

입니다. 그러나 모든 매개 변수를 설정하는 경우에도 왜 작동하지 않습니까?

덕분에 많은

+0

'삽입 또는 업데이트에 동일한 작업을 사용하고 있습니다.'... whyyyy !!! – Hackerman

+0

jquery 코드에 논리를 추가하고 싶지 않기 때문에. 대신 컨트롤러 내부의 로직을 수행합니다. –

+0

또한, CRUD 작업을 수행 할 때'get' 대신'post'를 사용하는 것이 더 낫습니다 .... 정보와 물건을 검색하는 데만 사용해야합니다 ... 또한 삽입 항목에서 중단 점을 사용할 수도 있습니다 방법을 사용하여 404 응답의 실제 원인을보다 잘 이해할 수 있습니다. ... 미국 내에서 중개자를 찾으려는 중개인은 미국인이 아니며, 미국인은 미국인입니다. – Hackerman

답변

0

몇 가지 조사 후, 나는 몇 가지 매개 변수를 사용하여 컨트롤러 액션을 시도했다. 그 마지막 두 곳은 많은 텍스트가있는 곳입니다. 어떤 캐릭터가 보낸 값을 다르게 만들 수도 있습니다.

AS Hackerman이 말하길, 대신 GET 대신 게시물을 사용하는 것이 좋습니다.

고마워요

관련 문제