这是对ajax的简单测试,我想在我的index.php中发送变量t并在我的process.php中获取数据(t)并在我点击按钮时提醒数字15但我的问题没有提醒任何事情
这是我的index.php
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="jquery-3.2.1.min.js"></script>
<script>
$(document).ready(function () {
var t = 10;
$("#btn").click(function () {
$.ajax({
type:'post',
url:'process.php',
data:{
't':t
},
success:(function (response) {
alert(response);
}
})
})
})
</script>
<button id="btn">Click!</button>
这是我的process.php
<?php
$res = $_POST['t'] + 5;
return $res
?>
答案 0 :(得分:3)
更改以下代码: -
1.jQuery: -
$(document).ready(function () {
var t = 10;
$("#btn").click(function () {
$.ajax({
type:'post',
url:'process.php',
data:{'t':t},
success:function (response) { //remove (
alert(response);
}
});
});
});
2.PHP: -
<?php
$res = $_POST['t'] + 5;
echo $res; //use echo rather than return
?>
<强> 原因: - 强>
return
用于将函数中的值返回到另一段PHP
代码。jQuery
不是服务器上PHP
代码执行的一部分,所以它不知道服务器端真正发生了什么。 jQuery
正在等待呈现的服务器响应,这是echo
提供的响应。
注意: - 执行这些更改后,请在运行ajax时检查浏览器控制台,看看是否有错误发生?如果是,请与我们分享
答案 1 :(得分:1)
i)使用以下代码更改您的代码
$(document).ready(function () {
var t = 10;
$("#btn").click(function () {
$.ajax({
type:'post',
url:'process.php',
data:{
't':t
},
success:(function (response) {
alert(response);
}) //Close brace missing
})
})
});
2)将返回更改为回显
答案 2 :(得分:1)
$(document).ready(function(){
$("#btn").click(function (){
var t = 10;
$.ajax({
type:'post',
url:'process.php',
data:{
t:t
},
success:(function (response) {
alert(response);
// you didnt close )
}) // close of success
})// close of ajax
})// close of click
}); // close of document
Process.php
<?php
$res = $_POST['t'] + 5;
echo $res;
?>
答案 3 :(得分:0)
你应该像这样添加jQuery
<script src="jquery-3.2.1.min.js"></script>
如果您确实已下载并将文件放在同一目录中。
如果您不想下载CDN,可以在CDN中加入。 请改用:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
修复你的JS代码:(删除额外的'}'...)
$(document).ready(function () {
var t = 10;
$("#btn").click(function () {
$.ajax({
type:'post',
url:'test.php',
data:{
't':t
},
success:(function (response) {
alert(response);
})
})
});
});