Javascript传递变量问题没有返回

时间:2014-04-03 14:37:07

标签: javascript php jquery codeigniter

大家好我有以下代码使用AJAX传递JS变量,如下所示:

function buttonCallback(obj){

        var id = $(obj).attr('id');

         $.ajax({
            type: "POST",
            url: "/project/main/passid",
            data: { 'id': id  },
            success: function(msg){
                window.alert(msg);
            }
         });
    }

如果我放入一个警告框,我可以看到对象id被成功抓取。但是如果在php中我想简单地返回变量 - 我得到一个null有任何人有任何想法: 继承我的PHP函数(我正在使用Codeigniter):

public function passid(){
        $courseId = $this->input->post('id');
        echo $courseId;
    }

编辑:出现成功提醒框 - 但显示为空白,这是我的问题我希望看到ID

1 个答案:

答案 0 :(得分:1)

1。通过这样做可以确保id等于某事:

function buttonCallback(obj){

    var id = $(obj).attr('id');
    alert( id ); // What does it alert?

     $.ajax({
        type: "POST",
        url: "/project/main/passid",
        dataType: "json",
        data: { 'id': id  },
        success: function(msg){
            window.alert(msg.id);
        }
     });
}

2。您的javascript看起来不错......您可以尝试使用它来查看它是否有效:

<强> JS

function buttonCallback(obj){

    var id = $(obj).attr('id');

     $.ajax({
        type: "POST",
        url: "/project/main/passid",
        dataType: "json",
        data: { 'id': id  },
        success: function(msg){
            window.alert(msg.id);
        }
     });
}

<强> PHP

public function passid(){
    $courseId = $this->input->post('id');
    $response = array( "id" => $courseId );
    header('Content-Type: application/json');
    echo json_encode( $response );
}

3。如果这不起作用,您可以尝试从id重命名为poopoo,以确保不会id并且很奇怪?

4. 你能查看你的ajax请求的网络响应吗 - 转到开发人员工具栏并转到网络部分,确保你点击了录制/播放按钮。然后发送你的请求。当您看到您的请求出现在网络列表中时,请检查它的“详细信息”并转到响应。