Ajax在Firefox上表现不同

时间:2015-03-16 22:56:38

标签: php jquery ajax firefox chromium

我基本上是在尝试检查文件下载的进度。为此,我反复轮询一个php文件(progress_sess.php),该文件回显处理下载(export.php)的文件中正在更改的会话值。所以有一个ajax请求export.php和多个ajax请求到progress_sess.php。这样我就可以显示文件下载脚本当前所处的阶段。 一切都在铬很好。 从请求中可以清楚地看到,您可以在此处看到图片: - Chromium Requests

在firefox中但是抛出了这个错误: -

JSON.parse: unexpected end of data at line 1 column 1 of the JSON data

您可以在此处查看请求: - Firefox Requests 当我在Firefox中回显xhr.responseText时,它会给出: -

""

这可能是因为在图像中你可以看到Chromium中的请求是application / json,正如progress_sess.php标题中指定的那样,而在firefox中,第一个请求是出于某些莫名其妙的原因text / plain?!所以我不明白为什么firefox会得到一个text / plain响应头。

你可以看到progress_sess.php: -

<?php
    session_id($_COOKIE['phpMyAdmin']);
    session_start();
    header("Content-Type: application/json");
    $result = $_SESSION['export_progress'];
    if ($result==null) 
    {
        $result = '';
    }
    $arr = array(progress_result=>$result, source=>'progress_sess.php');
    echo json_encode($arr);
?>

所以基本上我的json不可能出现问题。所以我想我的问题是,当我明确指定一个标题时,为什么它会抛出json解析错误?是因为text / plain请求头,还是由于firefox和chrome之间存在一些ajax差异。

1 个答案:

答案 0 :(得分:0)