我编写了一些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>
<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] 举报,一经查实,本站将立刻删除。