Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery调用php函数_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript jquery调用php函数

Javascript jquery调用php函数,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我想使用jquery或ajax在php中调用函数 事实上。我用ajax获得了它,但我需要使用两个按钮。(提交并单击按钮) 我需要上传一个文本文件,然后调用一个php函数。 看看吧 index.php JS: $(函数(){ $('#filecsv')。提交(函数(){ $('#contenidos').load('server.php'); }); }); 表格: Crear PHP->server.PHP include_once($_SERVER["DOCUMENT_ROO

我想使用jquery或ajax在php中调用函数

事实上。我用ajax获得了它,但我需要使用两个按钮。(提交并单击按钮)

我需要上传一个文本文件,然后调用一个php函数。 看看吧

index.php

JS:


$(函数(){
$('#filecsv')。提交(函数(){
$('#contenidos').load('server.php');
});
});
表格:



Crear
PHP->server.PHP

    include_once($_SERVER["DOCUMENT_ROOT"].'/include/include.inc.php');

   require_once ('common.php');

   function check_session(){
     global $db;
     $objResponse = new xajaxResponse();
     if (!isset($_SESSION)){
       $objResponse->addRedirect("/logout.php");
      }else{
       $interval = TIMEOUT * 60 * 1000 + 1000;

    $objResponse->addScript("setTimeout('xajax_check_session()',$interval);");
         }
          return $objResponse->getXML();
        }
     $xajax->processRequests();

     ##### PHP FUNCTION. Parser CSV to XML
       session_start();

      $filename = $_SESSION["var"];
      $filepath = './csv/'.$filename;

    function csv_in_array($csv) {

   $doc = new DOMDocument();

   $row = 1;
   $handle = fopen($csv, "r");
   # Rows Counter
  $csvxrow = file($csv);
  $csvxrow[0] = chop($csvxrow[0]);
    $anzdata = count($csvxrow);    
         $xml2 = $xml;
         $xmlruta = './Templates/';
  while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
   $num = count($data);
   $row++;
         $xml = $xmlruta.$data[1].'.xml';
         $doc->load($xml);  
         $xp = new DOMXPath($doc);
         $xmlcount = 0;
         if (file_exists($filename)) {
     for ($c=0; $c < $num; $c++) {

           foreach($xp->query('/ROOT/HEADER/@KEY[. != ""]') as $attrib)
           {
            $attrib->nodeValue = $data[0];
           }
           foreach($xp->query('/ROOT/DATA/SAPMES/LOIPRO/E1FKOL/@AUFNR[. != ""]') as $attrib)
           {
            $attrib->nodeValue = $data[0];
           }
           foreach($xp->query('/ROOT/DATA/SAPMES/LOIPRO/E1FKOL/@MATNR[. != ""]') as $attrib)
           {
            $attrib->nodeValue = $data[1];
           }
           foreach($xp->query('/ROOT/DATA/SAPMES/LOIPRO/E1FKOL/@GAMNG[. != ""]') as $attrib)
           {
            $attrib->nodeValue = $data[2];
           }
           foreach($xp->query('/ROOT/DATA/SAPMES/LOIPRO/E1AFFLL/E1FVOL/@MGVRG[. != ""]') as $attrib)
           {
             $attrib->nodeValue = $data[2];
           }
           foreach($xp->query('/ROOT/DATA/SAPMES/LOIPRO/E1FKOL/@GSTRS[. != ""]') as $attrib)
           {
            $attrib->nodeValue = $data[3];
           }
           foreach($xp->query('/ROOT/DATA/SAPMES/LOIPRO/E1FKOL/@GLTRS[. != ""]') as $attrib)
           {
             $fecha = new DateTime($data[3]);
              $fecha->add(new DateInterval('P1M'));
             $attrib->nodeValue = $fecha->format('Y-m-d');
           }
        }
           $name = $data[0] .'-'. $data[1];
           $doc->formatOutput = true;
      echo $doc->saveXML();
           $ruta = './XML/';
           $doc->save($ruta.$name.'.xml');
           $xmlcount++;
         }else{
             $restantes = $anzdata - $xmlcount;
             echo $xmlcount.' XML Creados'.' de '.$anzdata.'<br />';
             echo 'El Template '.$data[1].'.xml'.' No existe' .'<br />';
             echo $restantes . 'Restantes';
             return 0;
         }

     }

       fclose($handle);

       echo $anzdata . " XML Creados" . "<br />";  
      return $doc->saveXML();
     }
    $csvdata = csv_in_array($filepath);

 ?>
include_once($_SERVER[“DOCUMENT_ROOT]”./include/include.inc.php');
一次需要_('common.php');
函数检查_会话(){
全球$db;
$objResponse=new xajaxResponse();
如果(!isset($\会话)){
$objResponse->addRedirect(“/logout.php”);
}否则{
$interval=超时*60*1000+1000;
$objResponse->addScript(“setTimeout('xajax\u check\u session()',$interval);”;
}
返回$objResponse->getXML();
}
$xajax->processRequests();
#####PHP函数。将CSV解析为XML
会话_start();
$filename=$\会话[“var”];
$filepath='./csv/'.$filename;
函数csv_在_数组中($csv){
$doc=新的DOMDocument();
$row=1;
$handle=fopen($csv,“r”);
#行计数器
$csvxrow=文件($csv);
$csvxrow[0]=印章($csvxrow[0]);
$anzdata=计数($csvxrow);
$xml2=$xml;
$xmlruta='./模板/';
while(($data=fgetcsv($handle,1000,“,”)!==FALSE){
$num=计数($data);
$row++;
$xml=$xmlruta.$data[1]。.xml';
$doc->load($xml);
$xp=新的DOMXPath($doc);
$xmlcount=0;
如果(文件_存在($filename)){
对于($c=0;$c<$num;$c++){
foreach($xp->query('/ROOT/HEADER/@KEY[.!=“”])作为$attrib)
{
$attrib->nodeValue=$data[0];
}
foreach($xp->query('/ROOT/DATA/SAPMES/LOIPRO/E1FKOL/@AUFNR[.!=”“])作为$attrib)
{
$attrib->nodeValue=$data[0];
}
foreach($xp->query('/ROOT/DATA/SAPMES/LOIPRO/E1FKOL/@MATNR[.!=”“])作为$attrib)
{
$attrib->nodeValue=$data[1];
}
foreach($xp->query('/ROOT/DATA/SAPMES/LOIPRO/E1FKOL/@GAMNG[.!=”“])作为$attrib)
{
$attrib->nodeValue=$data[2];
}
foreach($xp->query('/ROOT/DATA/SAPMES/LOIPRO/E1AFFLL/E1FVOL/@MGVRG[.!=“”])作为$attrib)
{
$attrib->nodeValue=$data[2];
}
foreach($xp->query('/ROOT/DATA/SAPMES/LOIPRO/E1FKOL/@GSTRS[.!=”“])作为$attrib)
{
$attrib->nodeValue=$data[3];
}
foreach($xp->query('/ROOT/DATA/SAPMES/LOIPRO/E1FKOL/@GLTRS[.!=”“])作为$attrib)
{
$fecha=新日期时间($data[3]);
$fecha->add(新日期间隔('P1M');
$attrib->nodeValue=$fecha->format('Y-m-d');
}
}
$name=$data[0].-'.$data[1];
$doc->formatOutput=true;
echo$doc->saveXML();
$ruta='./XML/';
$doc->save($ruta.$name.'.xml');
$xmlcount++;
}否则{
$restantes=$anzdata-$xmlcount;
echo$xmlcount.'XML Creados'.'de'.$anzdata.
; 回显“El模板”。$data[1]。.xml.“不存在”。
; echo$restantes.‘restantes’; 返回0; } } fclose($handle); echo$anzdata.“XML Creados”。
; 返回$doc->saveXML(); } $csvdata=csv_数组中的_($filepath); ?>
我只想继续服从布顿。 这两件事都能做到吗? 上传文件然后调用函数?

使用$.ajax 然后完成文件提交,然后在它返回并说“确定”后,您可以继续

或者按钮还需要执行其他操作

任何您想要激活的东西都可以通过jquery标记ID来实现
$('unique_id')。
或class
$('unique_class)。

以及根据按下的按钮/提交

如果你想提交然后去获取数据

$('#filecsv').on('click', function (){
 $.ajax({
   type: 'POST',
   data: {//serialize your form variable}
   url: "server.php",//

   // ...
 }).done(function( msg ) {
      //load your div here from submitted data
  });;
});

我可以稍后补充这个答案,但要快

您可以通过jqueryclick触发ajax调用将所需的数据传递给php函数,然后将函数的结果转换为json。然后把它寄回去。这将使javascript/jquery和php保持分离

JAVASCRIPT

例:

phppage.php

<?php

$username = $_POST['text1']; $data = array();

function hello($username){
   ...
    $data[test] = $username; }

$data_push = json_encode($data);

echo $data_push;

?>


这将是console.log函数的值-此时您可以使用javascript或jquery做任何您想做的事情。

您似乎忘记问问题了。我只想使用一个按钮,(输入提交)。做这两件事。。。上传文件和调用功能。我想做的第一个选择。。。提交文件,然后调用函数ans并在中显示结果。@ezos yup-successs或done将使他能够重新加载到divSry以解决我的(愚蠢的)问题。。。我从jquery开始。我是否需要在data:{}中设置一些内容?是的,data:{}用于将在另一端作为$_POST['']结束的变量。因此,数据:{var1:$('#some_id').val()}将作为$_POST['var1']在php中结束。当我说serialize时,基本上有一个简单的方法可以一次获取表单中的所有变量-通过一些示例进行查找,这会给你一个想法。好的。我将检查示例。但实际上我只需要发送上传文件的名称。('text.csv'),所以。。。我需要使用。。。数据:{varcsv:$('#file').val()},并在server.php$_POST['varcsv']中;对吧?我想用你的例子。。。不过,我开始使用jQueryAjax。看起来我想,我只想调用php函数并在--
$('#filecsv').on('click', function (){
 $.ajax({
   type: 'POST',
   data: {//serialize your form variable}
   url: "server.php",//

   // ...
 }).done(function( msg ) {
      //load your div here from submitted data
  });;
});
    var operator_information = {INFO TO PASS - ex: username:text1}
// the php will take the _POST['username'] as the javascript variable value of text1
            $.ajax({
                    type: "POST",
                    url: 'phppage.php',
                    cache: true,
                    data: operator_information,
                    dataType: "json",
                    success: function(data) {
                                var result = data;
                                console.log(result.test);
                            },
                    error: function() {alert('Error');},
                    complete: function(){
                    }
                });
<?php

$username = $_POST['text1']; $data = array();

function hello($username){
   ...
    $data[test] = $username; }

$data_push = json_encode($data);

echo $data_push;

?>