我有一個PHP API我正在使用它輸出所有內容爲JSON。處理來自AJAX請求的數據
我需要調用其中一個API方法並使用AJAX請求解析它。我正在使用jQuery(儘管它不應該)。
當我發出請求時,出錯的時候出現了「parsererror」,如textStatus
和「Syntax Error:invalid label」。
簡化代碼:
$.ajax
({
type: "POST",
url: "http://mydomain.com/api/get/userlist/"+mid,
dataType: "json",
dataFilter: function(data, type)
{
/* Here we assume and pray */
users = eval(data);
alert(users[1].id);
},
success: function(data, textStatus, XMLHttpRequest)
{
alert(data.length); // Should be an array, yet is undefined.
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
alert(textStatus);
alert(errorThrown);
},
complete: function(XMLHttpRequest, textStatus)
{
alert("Done");
}
});
如果我離開關eval(data)
然後一切工作正常。那麼,除data
仍然未在success
中定義。請注意,我正在使用PHP中的一組對象,然後通過json_encode
將它們傳遞出去。這會有什麼不同嗎?
這方面還沒有取得任何進展。如果有人相信他們可以提供幫助,我願意拋出更多代碼。
這裏是東西
private function _get_user_colors($id)
{
$u = new User();
$u->get_where(array('id' => $id));
$bar = array();
$bar['user'] = $u->stored;
foreach($user->colors as $color)
{
$bar['colors'][] = $color;
}
echo(json_encode($bar));
}
我已經使用這個與其他基於PHP腳本零問題PHP端。我不知道爲什麼Javascript會帶來問題。
試試'users = eval('('+ data)+')';'? – Fluffy 2010-06-12 14:51:38