无法将值从jquery传递给php

时间:2014-01-02 10:58:38

标签: php jquery ajax

出了什么问题:

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

msg.php包含:

var_dump($_POST['a']); // NULL, but expected: 14

5 个答案:

答案 0 :(得分:0)

试试这个

$('#click01').click(function(){
    var a = 14;
    $.ajax({
       url  : 'msg.php',
       type : 'POST',
       data : {a:a},
       complete: function (data) {
           console.log( data ); // this will tell you the output of var_dump.
           window.location.href = 'msg.php';
       }
    });
    // window.location = 'msg.php';
});

函数window.location.href = 'msg.php';中的这一行complete实际上会将你重定向到msg.php,所以如果你不想要任何重定向删除那些行..

答案 1 :(得分:0)

$('#click01').click(function(){
        var  a = 14;//not $a since this is javascript
        $.ajax({
         url  : 'msg.php',
         type : 'post',
         data : {'a':a}
    });
    window.location = 'msg.php';
    });

答案 2 :(得分:0)

$('#click01').click(function(){
    var a = 14
    $.ajax({
           type: "POST",
           url: "msg.php",
           data: {a:a},
           beforeSend: function () {
           // do action
           },
           success: function(html){
                window.location = 'msg.php';        
           }
    });
});

答案 3 :(得分:0)

而不是设置你想要在ajax调用上设置'成功'函数的window.location,这样当它完成时它会接收响应并将其放入你的页面。

E.g。类似的东西:

 $('#click01').click(function(){
        $a = 14;
        $.ajax({
         url  : 'msg.php',
         type : 'post',
         data : {a:$a},
         success: function(data, textStatus, jqXHR) {
           $('#placeToPutTheResponse').append( data );
         }
    });
  });

以上假设您添加了一个id =“placeToPutTheResponse”的HTML节点

值得阅读关于SO的其他帖子,以获得体面的概述:jQuery Ajax POST example with PHP

它使用done而非成功,语法稍有不同,但这是一个很棒的概述。

答案 4 :(得分:0)

$(document).on('click','#click01',function () {
    var a = 14;
    $.ajax({
        url: 'msg.php',
        type: 'post',
        data: {a: a},
        success: function(e){
            console.log(e);
        },
        error: function(e) {
            console.log(e);
        }
    });
});