首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从ajax请求中获取原始文本

从ajax请求中获取原始文本
EN

Stack Overflow用户
提问于 2012-09-05 04:18:35
回答 4查看 9.4K关注 0票数 1

我使用ajax从服务器获取一个文件,该文件是JSON格式的字符串数组。当我执行如下ajax请求时,jQuery会自动将JSON字符串解析为数组。

代码语言:javascript
复制
$.ajax({
    url: "modules.php",
    success: function (data) {
                //data is an array object not text
            }
    });

但是,我想将数据保存到localStorage,它只能保存字符串。与其将数组(数据)转换回字符串,我宁愿停止jQuery自动解析JSON字符串,保存文本,然后自己解析JSON。更像是:

代码语言:javascript
复制
$.ajax({
    url: "modules.php",
    success: function (data) {
                //jQuery hasn't parsed the JSON already, and data is a string.
                localStorage.setItem("modules", data);
                var parsedData = $.parseJSON(data);
                //use the array
            }
    });
EN

回答 4

Stack Overflow用户

发布于 2012-09-05 04:22:25

根据documentation的说法

代码语言:javascript
复制
success: function (data, textStatus, jqXHR)

XHR对象包含响应文本:

代码语言:javascript
复制
jqXHR.responseText
票数 7
EN

Stack Overflow用户

发布于 2012-09-05 04:23:07

您需要使用dataType属性绕过jQuery MIME类型验证:

代码语言:javascript
复制
$.ajax({
    url: "modules.php",
    success: function (data) {
        //data is an array object not text
    },
    dataType: "html"
});
票数 5
EN

Stack Overflow用户

发布于 2012-09-05 04:30:09

根据文档,如果在ajax调用中没有指定dataType,"jQuery将尝试根据响应的MIME类型推断数据类型“。

在每个调用的基础上,您可以将dataType添加到调用体,如AsKaiser所示(但我会使用text而不是html)。如果您总是希望每次ajax调用都返回纯文本,那么可以使用jQuery的$.ajaxSetup()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12270764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档