我在href上有以下代码点击我调用一个javascript代码,其中调用ajax,以json格式返回数组$ss
的值。现在我想知道如何通过ajax更新$ ss的值。
<div class="white" id="white" style="display:none">
<?php
foreach ($ss as $key => $value){
?>
<a href='javascript:void(0);' onclick='callAjax('<?php echo $key; ?>')'>
<?php
echo $value;
?>
</a>
<?php
}
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
var res;
function on(id){
//alert('hi '+id);
$.ajax({
url: 'ajax.php', //This is the current doc
type: "GET",
data: ({a: id }),
success: function(data){
res = data;
//alert(res);
document.write(res);
}
});
}
</script>
ajax.php文件返回$ ss的数组值。 我理解如何通过ajax更新普通div的数据,但遇到问题,将ajax调用返回的数据传递给更新数组值。
答案 0 :(得分:1)
1 - 让我们明白javascript不会替换php变量的内容。
2 - 即使这样你也无法重新生成html你需要这种方式。
3 - 收到变量后你需要更新html。
PS:当您收到server
来电时,您可以更新ajax
方面的变量,这也需要一些要求(变量是全局并可在php文件中访问... ),但从我所理解的你想用javascript改变它是不可能的。
答案 1 :(得分:0)
你的ajax必须这样......
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
var res;
function on(id){
//alert('hi '+id);
$.ajax({
url: 'ajax.php', //This is the current doc
type: "GET",
data: {a: id },
success: function(data){
res = data;
//alert(res);
document.write(res);
}
});
}
</script>
答案 2 :(得分:0)
我认为你不能。
PHP代码在服务器端运行,jQuery在客户端运行。从jQuery更新PHP变量的方法是让一个jQuery调用提交给PHP页面,并让PHP查找它。
$ss = 'ss value';
if exists($_POST['ss']) {
$ss = $_POST['ss'];
}