jquery - ajax上传无法处理JSON响应或给出下载弹出窗口

标签 jquery ajax json upload response

我正在使用 Andris Valums 的 AJAX 插件:

它工作得很好,除了我无法发送正确的 JSON 作为响应。 在发送 JSON 编码的响应之前,我将 header 设置为“Content-Type”、“application/json”,并且在插件中我说我期待 JSON:

响应类型:“json”,

这会给我一个下载弹出窗口,要求下载 JSON/REPONSE 文件。 奇怪的是,当我没有为我的响应分配正确的“内容类型”时,它会起作用。

我当然想传递正确的响应类型,因为我所有的 jQuery 1.4 调用都依赖于正确的 JSON。

其他人也遇到过同样的问题吗?或者有人愿意尝试一下吗?

我很想使用这个插件,但前提是我可以返回具有正确内容类型的正确 JSON

最佳答案

您不必指定 application/json 作为响应内容类型。

您可以使用 Content-Type:text/plain 并使用 eval( '(' + response ')') 函数来评估您的响应并将其分配给 JavaScript 变量。

Damon 给出的例子对此进行了更详细的解释。

您可能需要检查的其他事项:

  • 确保在发送任何输出之前发送 header
  • 确保您的响应是有效的 JSON 编码字符串

关于jquery - ajax上传无法处理JSON响应或给出下载弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2812548/

相关文章:

jquery - 在 jquery select2 中标记文本

php - 多个单选按钮ajax post

jquery - ajax 调用 Controller 时出现错误 500 - MVC Razor

javascript - 在特定屏幕分辨率下隐藏标签

javascript - 如何使用ajax和php将数据库表中的数据放入html表

jQuery Ajax setTimeout JSON

Java解析url错误

javascript - jQuery 将脚本应用于多个选择框

javascript - <select> 的 jQuery .clone() : change the selected option

php - Laravel Eloquent 不更新 JSON 列 : Array to string conversion