Это простой тест для ajax, и я хочу отправить переменную t в моем index.php и получить данные (t) в моем process.php и предупреждающую цифру 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
?>
-1
sepehr 1 Сен 2017 в 14:14

4 ответа

Лучший ответ

Измените коды как ниже: -

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
?>

< Сильный > < EM> Причина: -

return используется для возврата значения из функции в другой фрагмент кода PHP. jQuery не является частью выполнения кода PHP на сервере, поэтому он понятия не имеет, что на самом деле происходит на стороне сервера. jQuery ожидает ответа обработанного сервера, который echo предоставляет.

Примечание. - . После внесения этих изменений, пожалуйста, проверьте консоль браузера во время работы ajax и убедитесь, что там произошла ошибка? Если да, поделитесь с нами

3
Anant Singh---Alive to Die 1 Сен 2017 в 12:18

Я) Измените свой код с помощью следующего кода

 $(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) Измените return на echo

1
KMS 1 Сен 2017 в 12:01
 $(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;
?>
1
Dawud Abdul Manan 1 Сен 2017 в 12:15

Вы должны добавить jQuery, как это

<script src="jquery-3.2.1.min.js"></script>

Если вы действительно скачали и поместили файл в тот же каталог.

Вы можете включить его из 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);
                })
            })
        });
    });
0
Kalu 1 Сен 2017 в 12:12