jQuery将ISO charset设置为ajax请求

时间:2010-06-16 10:29:44

标签: jquery ajax utf-8 character-encoding iso-8859-1

我正在使用jQuery向服务器发送ajax请求,但我在charset上遇到了一些问题。在ajax函数文档中写道,数据总是按照W3C XMLHTTPRequest标准以UTF-8发送,所以我不认为jQuery允许你更改请求字符集(除非你加载脚本,但那不是我的情况)。

那么你知道在jQuery中为ajax请求设置ISO-8859-1字符集的方法吗?

1 个答案:

答案 0 :(得分:1)

我想这是不可能的。您可能希望尝试覆盖Content-Type来电中的ajax请求标头。我试过这个:

$.ajax({
  url: '/exec/seoportservice.pl',
  type: 'POST',
  data: {
     foo: "bar"
  },
  dataType: 'text',
  beforeSend: function(xhr){
    xhr.setRequestHeader('Content-Type', 'test');
  },
  success: function(data){
    console.log('success: ' + data);
  },
});

这实际上会覆盖Content-Type标题,但仍设置charset=UTF-8

所以我猜你必须处理Encoding服务器端。