无法使用ajax调用外部函数

时间:2015-08-11 18:18:59

标签: javascript php jquery ajax

这是我的jquery代码

<script>
      $(function () {

        $('#deleteform').on('submit', function (e) {

          e.preventDefault();

          $.ajax({
            type: 'get',
            url: 'delete.php',
            success: function () {
              alert('Worked');
            }
          });

        });

      });
    </script>

我的PHP代码(我只是试图测试它,所以我添加了一个简单的函数)

<?php
  header("Location: http://www.google.com/");
?>

当我点击按钮(表单提交时)没有任何反应,除了&#34; Worked&#34;警报框。但无论我放在那个PHP文件(delete.php)中,都没有任何反应。我究竟做错了什么?我的&#34; delete.php&#34;文件将有一个脚本来删除XML文件中的数据,以防它发生变化。 (现在我尝试使用简单的php行)

修改

PHP文件中的真正PHP代码是:

<?php
$xml = simplexml_load_file("signatures.xml");
$name = $_POST['nom'];
$signs = $xml->xpath('//Signature[Nom = "'.$name.'"]');
$xml -> SignaturesParent -> removeChild($signs);
?>

当我尝试时没有任何事情发生。

1 个答案:

答案 0 :(得分:2)

试试这个。

  

ajax调用现在会警告从delete.php

发送给它的任何内容      

ajax调用执行POST而不是GET,以便它与您使用$ _POST [&#39;&#39;]的事实相匹配并发送一些数据,即smith 你是必须将其更改为XML文件中实际存在的内容

     

delete.php实际上返回了一些内容

     

delete.php将更改的xml文档保存回磁盘,并将其保存到具有不同名称的文件中,以便您可以查看它是否确实执行了任何操作。 就在你正在测试的时候。

<script>
  $(function () {

    $('#deleteform').on('submit', function (e) {

      e.preventDefault();
      $.ajax({
        type: 'POST',
        url: 'delete.php',
        data: {nom:"smith"},
        success: function (data) {
          alert(data);
        }
      });
    });
  });
</script>



<?php
$xml = simplexml_load_file("signatures.xml");
$name = $_POST['nom'];
$signs = $xml->xpath('//Signature[Nom = "'.$name.'"]');
$xml -> SignaturesParent -> removeChild($signs);

$result = $xml->asXML("signatures2.xml");
echo $result ? 'File Saved' : 'File Not Saved';

?>