1

我想得到一个ajax请求的原始文本。例如,如果我设置contentType: 'application/json',我想在成功方法中获取一个字符串,而不是 JSON 解析结果。(我无法在服务器的响应中发送 Content-Type 标头,因为服务器不在我的控制之下)。

原因:从服务器获取的 JOSN 被很好地格式化了,我在对话后失去了这个队形。

4

2 回答 2

0

您永远不会丢失 JSON,它只会被转换为可用的 javascript 对象。

您可以使用 JSON.stringify() 将其转换回字符串,或者您可以将其用作它应该是的对象,或者您可以在 ajax 请求中使用 dataType 选项告诉 jquery 您想要字符串,而不是目的

$.ajax({
  ...
  dataType : "text"
  ...
});
于 2013-02-26T12:46:12.113 回答
0

cernunnos 发布的替代方法:

<script>
    $.ajax({
        url: "/your.json",
        beforeSend: function ( xhr ) {
            xhr.overrideMimeType("text/plain; charset=utf-8");
        },
        success: function(data) {
            window.console.log(data);
        }
    });
</script>
于 2013-02-26T12:50:37.263 回答