没有在ajax中返回任何内容

时间:2017-09-01 11:14:16

标签: php jquery ajax

这是对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
?>

4 个答案:

答案 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);
                })
            })
        });
    });