我试图让一个简单的ajax测试工作,但没有成功。我试图将一个变量($ add1)从PHP传递给JS,然后让JS计算总和并通过$ _POST将其返回给PHP变量并在html中将其返回。
的index.php:
<?php
echo "<script type='text/javascript' src='script.js'></script>";
$add1 = 3;
echo "<script>sum($add1)</script>";
$sum = $_POST['variable'];
echo $sum;
?>
的script.js:
function sum(param) {
var sum = 3;
sum = 3 + param;
$.ajax({
type: 'POST',
url: 'index.php',
data: {
'variable': sum
},
});
}
由于某种原因,这段代码不起作用。任何帮助表示赞赏。
答案 0 :(得分:1)
在script
。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
PHP代码
<?php
if ($_POST['variable']) { // If ajax request only
$sum = $_POST['variable'] + $add1;
echo $sum;
} else { // Loading in the browser
$add1 = 3;
echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script><script type="text/javascript" src="script.js"></script>';
echo "<script>sum(".$add1.")</script>";
}
?>
<强>的Javascript 强>
function sum(param) {
var sum = 3;
sum = 3 + param;
$.ajax({
type: 'POST',
url: 'index.php',
data: {
'variable': sum
},
success: function(result) {
alert(result)
},
error: function(e) {
console.log(e);
}
});
}
答案 1 :(得分:1)
来自我希望php文件将$ add1传递给Javascript然后我希望javascript将var sum返回给php和php以回显来自$ POST的$ sum。
$sum
的 $_POST
实际上已回显,但未在HTML页面中显示,但作为对Ajax的响应处理。
您必须在Ajax闭包中添加success
函数
$.ajax({
type: 'POST',
url: 'index.php',
data: {
'variable': sum
},
success: function (data){
document.write(data);
}
});
您将在页面中看到答案。
PHP:
if (isset($_POST['variable'])) {
$sum = some_futher_function($_POST['variable']);
echo $sum;
} else {
echo "<script type='text/javascript' src='script.js'></script>";
$add1 = 3;
echo "<script>sum({$add1})</script>";
}
function some_futher_function($param){
//do some thing
return $return;
}