2014-09-03 81 views
-1
var code = $.cookie('code'); 
$.ajax({ 
    type: "POST", 
    url: "ajax/loadData.php", 
    data: { 'code': code }, 
    dataType: "json", 
    success: function(data) { 
     console.log(data.coins); 
    }, 
    error: function(emsg) { 
     alert(emsg.responseText); 
    } 
}); 

基本上它顯示了響應文本,它內部有:Notice: Undefined index: code in D:\wamp\www\ajax\loadData.php on line 3我不確定這是爲什麼,所以如果有人能幫助我清除它,我會很感激。

loadData.php:

<?php 
include '../inc/_db.php'; 
$code = $_POST['code']; 
$query = mysqli_query($db, "SELECT * FROM data WHERE code='$code'"); 
$rows = array(); 
while($row = mysqli_fetch_array($query)) { 
    $rows[] = $row; 
} 
echo json_encode($rows); 
?> 
+0

你還可以顯示'loadData.php'的前三行嗎? – Amadan 2014-09-03 00:36:45

+0

也只是作爲一個附註,不論是'success'還是'error'都被棄用,而是使用'done'和'fail'回調。 – 2014-09-03 00:38:25

+0

@Amadan使用loadData.php編輯它,如果我使用?code =(包括我用來測試它的代碼)在瀏覽器中瀏覽頁面,它將起作用,它將打印取出JSON。 – prk 2014-09-03 00:38:38

回答

2

嘗試將數據參數設置爲正確的JSON

$.ajax({ 
    type: "POST", 
    url: "ajax/loadData.php", 
    data: { 'code': code }, 
    dataType: "json", 
    success: function(data) { 
     console.log(data); 
    }, 
    error: function(emsg) { 
     alert(emsg.responseText); 
    } 
}); 

的錯誤,指出$_POST['code']沒有設置,爲此要首先關注的地方,您可以設置它。

+0

'dataType'告訴jQuery期望響應是什麼樣的,與發送數據到服務器無關。 – Amadan 2014-09-03 00:47:13

+0

當我這樣做時,它會返回一個空數組,或者如此。 – prk 2014-09-03 00:47:43

+0

再次嘗試,但'代碼'與'代碼'如果我錯了我會刪除,更新答案 – 2014-09-03 00:50:46