通过Jquery ajax将数据发送到同一个php

时间:2018-02-21 22:02:12

标签: php jquery ajax

我需要帮助,因为我被困住了,不知道出了什么问题,我尝试发送用户点击按钮" id"到php从同一页面的数据库中获取相关数据

$(".button_class").on("click", function() {
        ToEditId = $(this).attr('id');

        console.log(ToEditId ); //to check clicked id is Ok

      $.ajax({
            type: "POST",
            url: same/php/page/path,
            data: { 
                ToEditId: ToEditId 
            },
            success: function(res, data) {
                console.log(res, data);
            },
            error: function(err) {
                alert(err);
            }

        });
    });

控制台日志中的ajax打印成功,这里是php代码,用于获取值,如果点击了id

<?php
if(isset($_POST['ToEditId'])){
    $to_edit_id=$_POST['ToEditId'];
    var_dump($to_edit_id);
}

但是在php文件中没有任何事情发生!!

1 个答案:

答案 0 :(得分:1)

预期的行为是什么。

PHP不是动态的。它没有“更新”。 PHP只运行一次。这意味着一旦您的页面被渲染,您就无法再使用PHP进行更改。你实际上必须使用javascript来改变页面,就像这样;

PHP方面:

<?php
  if(isset($_POST['ToEditId'])){
    echo $_POST['ToEditId'];
    $to_edit_id=$_POST['ToEditId'];
    var_dump($to_edit_id);
    die(); // prevent entire page from re-rendering again.
  }

JS方面:

$(".button_class").on("click", function() {
    ToEditId = $(this).attr('id');

    console.log(ToEditId ); //to check clicked id is Ok

  $.ajax({
        type: "POST",
        url: same/php/page/path,
        data: { 
            ToEditId: ToEditId 
        },
       success: function(res, data) {
          //Add your PHP file's response to the body through javascript.
          $('body').append(res);
        },
        error: function(err) {
            alert(err);
        }

    });
});

正如@IncredibleHat所提到的,你应该确保你的页面没有呈现任何通常的HTML,所以它不会将整个页面返回到你的ajax调用。所以把PHP放在你的html之上!