我有一个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