jQuery ajax:获取原始响应文本

时间:2013-02-26 12:35:16

标签: jquery ajax

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

原因:JOSN从服务器上获得的东西已经过时了,在谈话结束后我失去了这种形式。

2 个答案:

答案 0 :(得分:0)

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

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

$.ajax({
  ...
  dataType : "text"
  ...
});

答案 1 :(得分: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>