Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mootools 1.4.5请求和#x27;编码';选项不起作用_Javascript_Ajax_Character Encoding_Mootools - Fatal编程技术网

Javascript Mootools 1.4.5请求和#x27;编码';选项不起作用

Javascript Mootools 1.4.5请求和#x27;编码';选项不起作用,javascript,ajax,character-encoding,mootools,Javascript,Ajax,Character Encoding,Mootools,我试图在ajax请求头上强制使用“ISO-8859-1”字符集,但由于某些原因,我无法将其从“UTF-8”更改为“ISO-8859-1”。我有以下几点 var request = new Request({ url: url, method: 'post', data: params, encoding: 'ISO-8859-1', onSuccess: function(textResponse, xmlResponse) { /

我试图在ajax请求头上强制使用“ISO-8859-1”字符集,但由于某些原因,我无法将其从“UTF-8”更改为“ISO-8859-1”。我有以下几点

var request = new Request({
    url: url,
    method: 'post',
    data: params,
    encoding: 'ISO-8859-1',
    onSuccess: function(textResponse, xmlResponse) {
            //success func
        },
        onFailure: function(xhr) {
            //fail func
        }
    }).send();
即使在配置了该设置之后,我的请求头的内容类型在Chrome的开发者工具中仍然显示为“application/x-www-form-urlencoded;charset=UTF-8”


有什么想法吗?

确实有用。1小问题:设置字符集的代码路径位于另一个变量后面-
urlEncoded:true
需要设置

还有一个jsfiddle来演示这一点:

新请求({
url:“/echo/html/”,
数据:{
html:“文本回显到请求”,
延迟:0
},
方法:“post”,
对,,
编码:“ISO-8859-1”,
onComplete:function(){
$('target').set('html',this.response.text);
}
}).send();
我认为文件不清楚两者之间的关系-

上面写着,但是我:

  • urlEncoded
    -(
    boolean
    :默认为true)如果设置为true,则
    内容类型
    标题设置为
    www-form-urlEncoded
    +
    编码
  • encoding
    -(字符串:默认为
    utf-8
    )要在请求头中设置的编码

后者需要“URL编码不正确时忽略”

Hmmm。。。在您提供的JSFIDLE示例中,我仍然在Chrome的开发工具中显示“application/x-www-form-urlencoded;charset=UTF-8”。另外,
urlEncoded
是否默认设置为
true
?我认为您的配置中也有一个输入错误——您将选项写为
urlEncoding
,而不是
urlEncoded
。但是即使我更改为
urlEncoded
它仍然不起作用它被浏览器拒绝。我可以发誓它是有效的-甚至在我的剪贴板上有一个截图,然后选择不打扰。-话虽如此,如果你看一下,在FF和Chrome中都没有mootools是100%正确的。非常非常奇怪。您是否介意在mootools问题跟踪程序上提出这个问题,以便他们可以在1.5版发布之前查看它。谢谢<代码>让请求实体体是运行多部分/表单数据编码算法的结果,其中数据作为表单数据集,utf-8作为显式字符编码。
new Request({
    url: '/echo/html/',
    data: {
        html: '<p>Text echoed back to request</p>',
        delay: 0
    },
    method: 'post',
    urlEncoded: true,
    encoding: 'ISO-8859-1',
    onComplete: function(){
        $('target').set('html', this.response.text);
    }
}).send();