从ajax请求调用php类方法

j8ag8udp  于 2021-09-23  发布在  Java
关注(0)|答案(0)|浏览(194)

我ḿ 尝试从ajax示例化并执行自定义类方法,但返回500代码错误,以下是ajax:
我希望ajax调用从给定的xml创建一个数组,这是按预期工作的,之后我需要从sql查询创建一个数组并执行insert语句,并且使用sql数组中的数据,我必须调用一个类方法ḿ 制作包含但不起作用的

function BorraEmple(TipoDocu,NumePers)
{
    if(confirm("Eliminar Empleado ("+TipoDocu+" "+NumePers+"), Desea Continuar?"))
    {
        var CodiDocu =$("#CmbCodiDocu").val();
        var NumeDocu =$("#TxtNumeDocu").val();
        $.ajax({
         type: 'POST',
         url: 'borraemple.php',
         data: "Accion=BorraEmple"+"&TipoDocu="+TipoDocu+"&NumePers="+NumePers+"&CodiDocu="+CodiDocu+"&NumeDocu="+NumeDocu,
         dataType: 'text',
         async: false,
         success: function(data)
         {
           setTimeout(function(){
           location.reload(); 
            }, 2000);
           if(/ErrorSQL/.test(data))
             alert("Error al consultar el registro, contacte a soporte tecnico");
           else
           {
                if(data!='')
                    alert(data);
           }
           alert("El registro ha sido eliminado");
         },
         error: function(xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
        alert(thrownError);
         }
       });
    }
}

下面是php:

<?php
include_once(SIH_PATH.'clases/FES/nominajuste.class.php');
if($_POST[Accion]=='BorraEmple'){
    $TipoDocu=$_POST[TipoDocu];
    $NumePers=$_POST[NumePers];
    $CodiDocu=$_POST[CodiDocu];
    $NumeDocu=$_POST[NumeDocu];

if(strlen($MesInve)==1)
  $MesInve2='0'.$MesInve;
else
  $MesInve2=$MesInve;
 $DocuApli=docuapli($CodiDocu);
 $Cond='';
 if($DocuApli==124){
  $EnviNomi = parametros('EnviNomi', 2);
  if($EnviNomi==1){
    function getArray(){
        $doc = new DOMDocument();
        $doc->preserveWhiteSpace = true;
        $doc->load('NominaIndividualDeAjusteElectronicaXSDV1.0.xsd');
        $doc->save('a.xml');
        $xmlfile = file_get_contents('a.xml');

        $parseObj = str_replace($doc->lastChild->prefix.':',"",$xmlfile); 
        $doc->doc->textContent;

        $ob= simplexml_load_string($parseObj);
                    $json  = json_encode($ob, JSON_PRETTY_PRINT);
                    $arrayNomiElect = json_decode($json, true);

        return $arrayNomiElect;
    }

    $sqlNumePers = "SELECT CodiDocu, NumeDocu, CodiInst, CodiAno, CodiMes, TipoDocu, NumePers FROM DetaNomi WHERE CodiDocu='$CodiDocu' AND NumeDocu='$NumeDocu' AND NumePers=$NumePers GROUP BY TipoDocu,NumePers";
    $resNumePers = query($sqlNumePers,2);
    $ManeNoEl = parametros('ManeNoEl');

    foreach($resNumePers as $key => $value) {

      $datos = array(
        'CodiDocu'         => $value['CodiDocu'],
        'NumeDocu'         => $value['NumeDocu'],
        'CodiInst'         => $value['CodiInst'],
        'CodiAno'          => $value['CodiAno'],
        'CodiMes'          => $value['CodiMes'],
        'TipoDocu'         => $value['TipoDocu'],
        'NumePers'         => $value['NumePers'],
        'arraybase'         => getArray()
      );

      $sqlIns="INSERT INTO NomiElec (CodiDocu, NumeDocu, CodiInst, CodiAno, CodiMes, TipoDocu, NumePers) VALUES ('$datos[CodiDocu]','$datos[NumeDocu]','$datos[CodiInst]','$datos[CodiAno]','$datos[CodiMes]','$datos[TipoDocu]','$datos[NumePers]')";
      //echo $sqlIns; exit();
      query($sqlIns);

      if($ManeNoEl == 1){
      $nominaElect = new NominaAjuste($datos);
      $nominaElect->getEstructura('E');
      }
    }
 }
 else
    $retorno='';

 echo $retorno;
}

我已经在没有ajax的情况下测试了这些功能,一切正常,我对ajax不是很熟悉,也不知道自己是否做得很好。。
谢谢

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题