2014-04-03 85 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