如果为我的网址创建ajax请求,我会收到以下内容类型(特殊字符问题):
application/json
但如果我直接在浏览器中打开网址,我会得到(特殊字符显示正常):
application/json;charset=utf-8
确切地说,最后一个是由服务器发送的。
我的网站,调用ajax-request,头部有以下元标记:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
ajax-request:
$.ajax({
url: 'MY-URL-AS-USED-HERE-AND-IN-THE-BROWSER',
type: 'GET',
contentType : 'application/json; charset=UTF-8',
dataType : 'json',
async: false,
success: function(r) {
console.log(r);
}
});
编辑:
加载功能似乎有效。但是我想使用ajax:
$('body').append('<div id="test"></div>');
$('#test').load('MY-URL-AS-USED-HERE-AND-IN-THE-BROWSER');
load-function的内容类型与浏览器请求相同:
application/json;charset=utf-8
答案 0 :(得分:0)
我已经遇到了这个问题,我的解决方案正在改变我的响应(服务器端)。我开始发送我的数据有一个UTF-8缓冲区:
response.end(new Buffer(JSON.stringify(result.rows), 'UTF-8'));
我在后端使用nodeJS。到目前为止,这对我有用......我没有在寻找客户端解决方案。
希望它有所帮助。如果有人知道为什么会这样,也想知道。
答案 1 :(得分:0)
dataType : 'json'
提出了utf-8问题。我从.ajax中删除了它,一切正常。 :)