PHP不会回应jQuery发布的值

时间:2015-07-12 13:02:42

标签: php jquery html

单击div #some_id调用details.php,但它无法从jQuery中检索数据。 details.php应该回复123

我的目标是,当我点击div #some_id时,details.php会在浏览器中显示123

HTML:

<div id="some_id">
<a href="details.php"> Details </a>
</div>

jQuery的:

function detailsClick(){
    $("#some_id").live('click', function(){
        var data = {'myData': 123};
        $.post('details.php', data);
    });
}

details.php:

<?php
$idNumber =  $_POST["myData"];
echo ($idNumber);
?>

3 个答案:

答案 0 :(得分:7)

  

我相信你没有在这里获得点击事件。更改jQuery代码如下。

$(function(){
    $("#some_id").on('click', function(){
        var data = {'myData': '123'};
        $.post( "details.php", data)
            .done(function( data ) {
                 alert( "Data Loaded: " + data );
        });
    });
});

答案 1 :(得分:2)

  1. .live()已弃用。请改用.on()
  2. 永远不会调用函数detailsClick()。因此,onclick听众已注册。
  3. 要么这样做。

    function detailsClick(){
        $("#some_id").live('click', function(){
            var data = {'myData': 123};
            $.post('details.php', data);
        });
    }
    
    detailsClick();
    

    或者这样做..

    $(document).ready(function(){
        $("#some_id").live('click', function(){
            var data = {'myData': 123};
            $.post('details.php', data);
        });
    });
    

    另外,你需要使用AJAX来做你想做的事。

    参考AJAX with jQuery()

答案 2 :(得分:2)

它没有显示任何内容,因为正在遵循链接,没有发布数据。

<a href="details.php"> Details </a>

Ajax用于在不更改页面的情况下获取数据。好像您想要导航到详细信息页面。

如果您希望页面导航到details.php,请使用带有提交按钮的普通html表单。

如果您想在不改变页面的情况下返回数据

详情

$("#some_id").on('click', function(e){
      e.preventDefault().
      var data = {'myData': 123};
      $.post('details.php', data)
          .done(function(response){
              // data is available here
              console.log(response);
          });
 });