无法在php文件中获取js变量

时间:2014-01-02 13:22:14

标签: php jquery ajax

无法在a

中获得msg.php
$('#click01').click(function(){
  var a = 14;
  $.ajax({
    url : 'msg.php',
    type : 'post',
    data : {a:a}
    }).done(function() {
      window.location='msg.php';
    })
});

msg.php

var_dump($_POST['a']); // NULL, but i need `14`

4 个答案:

答案 0 :(得分:4)

您收到null因为在完成AJAX调用后,您将用户发送到msg.php,其中$_POST再次为空。

当你这样做时:

    $('#click01').click(function () {
     var a = 14;
     $.ajax({
         url: 'msg.php',
         type: 'post',
         data: {
             a: a
         }
     }).done(function (data) {
         alert(data);
     })
 });

你会看到它有效,你得到14。

我认为没有充分的理由首先使用AJAX来发布一些内容,然后在成功时将用户发送到同一页面。

答案 1 :(得分:1)

你对ajax请求的概念很糟糕。

$('#click01').click(function(){
  var a = 14;
  $.ajax({
    url : 'msg.php',
    type : 'post',
    data : {a:a}
    }).done(function(data) {
      // data= var_dump($_POST['a'])
      alert(data)
    })
});

在var数据中你有ajax请求的结果,但是如果你重定向到msg.php则没有变量

答案 2 :(得分:1)

您确定要检查ajax返回,而不是window.location='msg.php';的返回吗?

试试这个:

$('#click01').click(function(){
  var a = 14;
  $.ajax({
    url : 'msg.php',
    type : 'POST',
    data : {'a':a},
    success: function(r) { alert(r); }
    });
});

答案 3 :(得分:0)

//而不是msg.php中的var_dump($ _ POST ['a'])使用: - // extract($ _ POST); echo $ a;

$('document')。ready(function(){var a = 14;

    $.ajax({
      url  : "msg.php",
      type : 'post',
      data : {a:a}
      }).done(function(data) {
          alert(data);

      });
});