2014-04-03 105 views
0

嗨变量问题所有我有下面的代码通过使用AJAX一个JS变量,如下图所示:的Javascript通过不返回

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我想简单地返回变量 - 我得到一个空的有没有人有任何想法: 我的继承人PHP函数(我用笨):

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

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

+1

你真的在调用'passid()'函数吗? –

+0

是的,我得到一个成功的味精警告框apperar – TotalNewbie

+0

你是什么意思“我想简单地返回变量?”如果您使用正确的ID获取警报框,则ajax调用按预期工作,并且您的php代码将该变量返回给您的JavaScript。 – mituw16

回答

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); 
} 

如果这不起作用,您可以尝试从id重命名为poopoo之类的东西,只需确保id没有被采取和怪异?

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

+0

谢谢,我会放弃这一点 – TotalNewbie