【问题标题】:not able to pass form data to php and save data in XML无法将表单数据传递给 php 并以 XML 格式保存数据
【发布时间】:2015-06-23 13:56:26
【问题描述】:

无法将表单数据传递给 php 我在 Jquery 中使用 AJAX 将表单字段变量传递给 php 并使用 php 我希望这些数据应该保存在 AEM bin 或 clientlib 中的 XML 文件中。

我无法使用 ajax 将这些数据传递给 PHP。这就是我正在做的事情:

    $('#submit').click(function() {
        var n1=$('#Name').val();
        var em1=$('#Email').val();
        var org1=$('#Org').val();
        var ph1=$('#phone').val();
        var c1=$('#Country').val();
        var ic1=$('#Inquiry_Contact').val();  
         $.ajax({
         type: "POST",
         url: "/etc/designs/team-a/clientlibs/scripts/dummy.php",
           dataType: "xml",
            contentType: "application/xml",
          data:"{'Name':'" + n1 + "','email':'" + em1 + "','organisation':'"                 + org1 + ",'phone':"+ph1+",'country':"+c1+",'inquiry-contact':"+ic1+"}", 
        success: function (res) {
       alert("thank you"+n1+" we will contact you soon");
          },
         error: function (res) {
     alert("XML: not working! " + res.statusText);
        }
      });
       }

这是我的 php 文件:

    <?php
      $data=$_REQUEST['data']
      $n1 = $_POST['n1'];
      $em1 = $_POST['em1'];
      $org1 = $_POST['org1'];
      $ph1 = $_POST['ph1'];
      $c1 = $_POST['c1'];
      $ic1 = $_POST['ic1'];

     $xml = new DOMDocument('1.0', 'utf-8');
     $xml->formatOutput = true;
     $xml->preserveWhiteSpace = false;
     $xml->load('data.xml');

      $element = $xml->getElementsByTagName('reports')->item(0);

     $ic1 = $element->getElementsByTagName('ic1')->item(0);
     $n1 = $element->getElementsByTagName('n1')->item(0);
     $em1 = $element->getElementsByTagName('em1')->item(0);
     $org1 = $element->getElementsByTagName('org1')->item(0);
     $ph1 = $element->getElementsByTagName('ph1')->item(0);
     $c1 = $element->getElementsByTagName('c1')->item(0);

     $newItem = $xml->createElement('reports');
     $newItem->appendChild($xml->createElement('ic1', $_POST['ic1']));
     $newItem->appendChild($xml->createElement('n1', $_POST['n1']));
     $newItem->appendChild($xml->createElement('em1', $_POST['em1']));
     $newItem->appendChild($xml->createElement('org1', $_POST['org1']));
     $newItem->appendChild($xml->createElement('ph1', $_POST['ph1']));
     $newItem->appendChild($xml->createElement('c1', $_POST['c1']));
     $xml->getElementsByTagName('reports')->item(0)->appendChild($newItem);
     $xml->save('data.xml');
      echo "Data has been written.";
    ?>

但它不起作用....我认为这个 php 没有被调用...它们只是 ajax 中的一些问题。 期待帮助 提前致谢:

【问题讨论】:

    标签: php jquery ajax xml


    【解决方案1】:

    在 ajax 中更改数据并显示如下

    $.ajax({ 类型:“发布”, url: "/etc/designs/team-a/clientlibs/scripts/dummy.php", 数据类型:“xml”, 内容类型:“应用程序/xml”, data:{ //像这样改变数据 名称:n1 , 电子邮件:em1, 组织:org1, 电话:ph1, 国家:c1, querycontact:ic1 //从inquiry-contact改为inquirycontact以避免语法错误 }, 成功:函数(res){ alert("谢谢"+n1+"我们会尽快联系您"); }, 错误:函数(资源){ alert("XML: 不工作!" + res.statusText); } });


    这会将数据作为键值对数组发送,您的 php 脚本可以访问该数组。
    希望这能解决 ajax 问题:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多