0
我正在使用$.getJSON
jQuery函數來允許我的網站與不同域中的服務器進行交互。但是,我一直在修復導致第三個和第四個數據項爲undefined
的錯誤。我不確定問題出在哪裏。JSON數組缺失元素
的JavaScript:
$.getJSON(domain_path + 'display.php?url=' + purl + '&callback=?', function(data) {
var username = data['uname'];
var point = data['point'];
var email = data['email'];
var title = data['title'];
});
的email
和title
是undefined
,但uname
和point
是正確的。
JSON是這個PHP產生:
$url = mysql_real_escape_string($_GET['url']);
$result = mysql_query("SELECT * FROM user url='$url'")or die(mysql_error());
$row = mysql_fetch_array($result);
if($row){
$uname = $row['uname'];
$point = $row['point'];
$email = $row['email'];
$title = $row['title'];
$output = array('uname'=>$uname,'point'=>$point,'email'=>$email,'title'=>$title);
$out_string = json_encode($output);
echo $callback.'('.$out_string.');';
}
JSON結果是這樣的:
284927410({"uname":"john","point":"104","email":"[email protected]","title":"teacher"});
我能夠得到john
和104
,但email
和title
拿出undefined
當我把他們在alert()
。
我有遺漏一些規則嗎?或者代碼中有什麼錯誤?
你的代碼看起來正確的給我。一切都應該按預期工作 – 2012-04-06 09:04:57
嘗試console.log(數據)在js – user1303559 2012-04-06 09:09:36
側注意:您不需要重建'$ output'變量。只要做'$ out_string = json_encode($ row);' - 另外,在JS中我使用'data.title'而不是'data ['title']' - 不要認爲它們有區別,但可能它值得嘗試。 – Dutchie432 2012-04-06 09:27:49