Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript传递变量问题未返回_Javascript_Php_Jquery_Codeigniter - Fatal编程技术网

Javascript传递变量问题未返回

Javascript传递变量问题未返回,javascript,php,jquery,codeigniter,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){

您好,我有以下代码使用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):


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

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请求的网络响应是什么吗?转到开发者工具栏并转到网络部分,确保按下录制/播放按钮。然后发送您的请求。当您在网络列表中看到您的请求时,请检查请求的“详细信息”并转到响应。

您是否真的调用了
passid()
函数?是的,我得到了一个成功的消息警报框附件“我只想返回变量”是什么意思?如果您得到了一个具有正确Id的警报框,然后ajax调用按预期工作,您的php代码将该变量返回到javascript。^I我收到一个空白警报框,这是我的问题!明白了。尝试执行
警报(id)
public function passid(){
    $courseId = $this->input->post('id');
    $response = array( "id" => $courseId );
    header('Content-Type: application/json');
    echo json_encode( $response );
}