我编写了一些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&amp; HTML(也在index.php中)
<button type="button" id="clickMe">CLICK ME TO RUN PHP</button>
<pre>
<?php
echo $_GET['myString'];
?>
</pre>
答案 0 :(得分:7)
请勿在数据变量名称中加入=
(只需说'myString': scriptString
)
始终包含$.ajax
(method: 'get'
)
在PHP代码中,使用$myString
$_GET['myString']
考虑使用<button>
代替<div>
将数据发送到服务器 - 这是更标准的。
但最重要的是:
success
选项中的$.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
页面和一个{ {1}}处理AJAX请求的页面。
此外,在这个简单的例子中,您可能只使用了一个纯HTML格式,不需要任何JavaScript或AJAX。