微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用AJAX运行PHP代码

我编写了一些JavaScript代码,可以从Google Maps API中读取并获取JSON对象列表.然后它会将每个JSON对象转换为XML对象.同事需要将此列表转换为XML,然后将其附加到现有XML文件,然后将其保存到我们的服务器.所以我写了一些PHP代码来做到这一点.

在这是我第一次使用PHP,但我设法很容易编写PHP代码.我要做的下一件事是编写一些javascript来运行PHP文件,并将XML对象发送到PHP,它可以附加并保存XML.我想我会使用jQuery的$.ajax函数.我开始使用一个简单的例子试图将一个字符串回显到一些< pre>标签.所以这是我的代码

Javascript(在index.PHP中)

<script>
    var scriptString = 'THIS IS MY STRING';
    $('#clickMe').click(function(){
        $.ajax(
        {
            method:'get',
        url:'index.PHP',
        data:
        {
            'myString': scriptString
        }
        });
    });
    </script>

PHP& HTML(也在index.PHP中)

<button type="button" id="clickMe">CLICK ME TO RUN PHP</button>
<pre>
    <?PHP
        echo $_GET['myString'];
    ?>
</pre>

解决方法:

>不要在数据变量名中包含=(只需说’myString’:scriptString)
>始终包含$.ajax的表单提交方法(方法:’get’)
>在PHP代码中,使用$_GET [‘myString’]而不是$myString
>考虑使用< button>而不是< div>将数据发送到服务器 – 这是更标准的.

但最重要的是:

>你实际上并没有对返回的数据做任何事情!您还需要$.ajax选项中的成功函数,该函数对来自服务器的数据执行某些操作.

试试这段代码

(JavaScript的)

var scriptString = 'THIS IS MY STRING';
$('#clickMe').click(function(){
    $.ajax({
      method: 'get',
      url: 'index.PHP',
      data: {
        'myString': scriptString,
        'ajax': true
      },
      success: function(data) {
        $('#data').text(data);
      }
    });
});

(PHP和HTML)

<?PHP
if ($_GET['ajax']) {
  echo $_GET['myString'];
} else {
?>
<button type="button" id="clickMe">CLICK ME TO RUN PHP</button>
<pre id="data"></pre>
<?PHP } ?>

请注意,PHP代码现在将根据它是否正在处理AJAX请求来执行不同的操作.对于AJAX请求,您不希望返回页面的HTML – 只是您感兴趣的数据.因此,最好有两个页面一个index.PHP页面一个ajax.PHP处理AJAX请求的页面.

此外,在这个简单的例子中,您可能只使用了纯HTML表单,不需要任何JavaScript或AJAX.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐