我正在尝试使用
将php附加到div<script>
var values = {var1: 2, var2:"Hello"};
$('#id').append($.get("phpfile.php", values));
</script>
然而,似乎并没有在php文件中附加基本的回声
<?php
$var1 = $_GET['var1'];
$var2 = $_GET['var2'];
echo "var1= " . $var1 . " " . "var2= " . $var2;
?>
任何帮助将不胜感激。
答案 0 :(得分:4)
Ajax调用是异步的。这意味着$.get()
函数的返回值不是请求的结果,因为请求尚未执行。您需要使用$.get()
调用的成功处理程序,该处理程序将在请求成功返回时调用,或者使用$.get
函数返回的jQuery延迟对象(A promise)。
更正语法#1:
<script>
var values = {var1: 2, var2:"Hello"};
$.get("phpfile.php", values, function(data) {
$('#id').append(data);
});
</script>
以下是使用promises的替代语法:
<script>
var values = {var1: 2, var2:"Hello"};
$.get("phpfile.php", values).done(function(data) {
$('#id').append(data);
});
</script>
答案 1 :(得分:0)
使用此 jQuery :
<script>
$.get("phpfile.php", { 'var1': 1, 'var2' : 2},
function(data){ $('#id').append(data); }, "json");
});
</script>
<强> PHP 强>:
<?php
$var1 = $_GET['var1'];
$var2 = $_GET['var2'];
$data = "var1= " . $var1 . " " . "var2= " . $var2;
echo json_encode($data);
exit;
?>