我想得到一个ajax请求的原始文本。例如,如果我设置contentType: 'application/json'
,我想在成功方法中获取一个字符串,而不是 JSON 解析结果。(我无法在服务器的响应中发送 Content-Type 标头,因为服务器不在我的控制之下)。
原因:从服务器获取的 JOSN 被很好地格式化了,我在对话后失去了这个队形。
您永远不会丢失 JSON,它只会被转换为可用的 javascript 对象。
您可以使用 JSON.stringify() 将其转换回字符串,或者您可以将其用作它应该是的对象,或者您可以在 ajax 请求中使用 dataType 选项告诉 jquery 您想要字符串,而不是目的
$.ajax({
...
dataType : "text"
...
});
cernunnos 发布的替代方法:
<script>
$.ajax({
url: "/your.json",
beforeSend: function ( xhr ) {
xhr.overrideMimeType("text/plain; charset=utf-8");
},
success: function(data) {
window.console.log(data);
}
});
</script>