php - 处理来自 AJAX 请求的数据

标签 php javascript ajax json

我正在使用一个 PHP API,它将所有内容输出为 JSON。

我需要调用其中一个 API 方法并使用 AJAX 请求解析它。我正在使用 jQuery(尽管这并不重要)。

当我发出请求时,它会出错,并显示“parsererror”作为 textStatus 和“语法错误:无效标签”。

简化代码:

$.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),那么一切都会正常工作。嗯,除了 datasuccess 中仍然未定义。请注意,我在 PHP 中获取一个对象数组,然后通过 json_encode 将它们传递出去。这会有什么不同吗?

这方面尚未取得任何进展。如果有人相信他们可以提供帮助,我愿意提供更多代码。

这是 PHP 方面的事情

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 的脚本时遇到了 问题。我不知道为什么 Javascript 会对此有疑问。

最佳答案

Parsererror 通常表示服务器的响应格式错误。如果直接在浏览器中加载它看起来不错吗?

关于php - 处理来自 AJAX 请求的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3026383/

相关文章:

javascript - 将复选框数组传递到 AJAX 调用中

javascript - 通过 AJAX 或 PHP 将 JavaScript 数据写入 JSON 文件

javascript - phonegap XMLHttpRequest responseText 在 android 中为空,但在 iphone 中包含数据

php - 使用 crypt(),我的应用程序如何验证随机生成盐的密码?

javascript - 如何将 JavaScript 变量值转换为 PHP 变量

javascript - react-native-webview 如何注入(inject) javascript?

javascript - 对 Accordion 中附加的 HTML 项目执行 javascript

php - 获取聊天数据并按接收者和发送者 ID 排序

php - OCtoberCMS 博客插件 Rainlab

php - Laravel Voyager 新用户登录时出现非法字符串偏移 'locale' 错误