Ajax在Firefox上表现不同

我基本上试图检查文件下载的进度。 为此,我反复轮询一个php文件(progress_sess.php),该文件回显处理下载文件中更改的会话值(export.php)。 所以对export.sep有一个ajax请求,对progress_sess.php有多个ajax请求。 通过这种方式,我可以显示文件下载脚本当前所处的阶段。所有这些都在Chrome中运行良好。 从请求中可以清楚地看到,您可以在此处看到图像: – Chromium Requests 。

在Firefox中但是抛出了这个错误: –

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

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

 "" 

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

你可以看到progress_sess.php: –

 $result, source=>'progress_sess.php'); echo json_encode($arr); ?> 

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