如果向我的url创建ajax请求,我将得到以下内容类型(特殊字符问题):
application/json但是,如果我在浏览器中直接打开url,就会得到(特殊字符显示得很好):
application/json;charset=utf-8最后一个是由服务器发送的。
我的网站名为ajax请求,标题中有以下元标记:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">ajax-请求:
$.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');加载函数的内容类型与浏览器请求的内容类型相同:
application/json;charset=utf-8发布于 2014-08-22 15:49:06
dataType : 'json'引发了utf-8问题。我从.ajax中删除了它,一切都很好。:)
发布于 2014-08-22 14:56:57
我已经有了这个问题,我的解决方案正在改变我的响应(服务器端)。我开始发送具有UTF-8缓冲区的数据:
response.end(new Buffer(JSON.stringify(result.rows), 'UTF-8'));我在后端使用nodeJS。到目前为止对我有用..。我没有费心去找客户端的解决方案。
希望能帮上忙。如果有人知道为什么会这样,也想知道。
https://stackoverflow.com/questions/25448313
复制相似问题