我正在使用 Andris Valums 的 AJAX 插件:
- AJAX 上传 ( http://valums.com/ajax-upload/ )
- 版权所有 (c) Andris Valums
它工作得很好,除了我无法发送正确的 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/