gpt4 book ai didi

javascript - 在ajax中设置请求头

转载 作者:行者123 更新时间:2023-11-28 09:11:14 25 4
gpt4 key购买 nike

我在处理一段 ajax 代码时遇到了麻烦。这是我从 mod security 收到的错误消息:

/ajaxController.php?mod=catalog&op=ajaxSeenProducts HTTP/1.1

Access denied with code 400 (phase 2). Operator EQ matched 0 at REQUEST_HEADERS. [file "/usr/local/apache/conf/modsec2.user.conf"] [line "12"] [id "960012"] [msg "POST request must have a Content-Length header"] [severity "WARNING"] [tag "PROTOCOL_VIOLATION/EVASION"]

我正在开发的网店中有一个模块,它显示了最后查看的产品,我的jquery代码是这样的:

$('#seen_products_box').ready(function() {
$.ajax({
type: "POST",
url: "{HOME}ajaxController.php?mod=catalog&op=ajaxSeenProducts",
success: function(seenProducts) {
$('#seen_products_box').empty();
$('#seen_products_box').append(seenProducts);
}
});
});

在寻找解决方案时,我发现在多个地方需要设置

Content-length

参数,但我找到的都是这种格式:

xmlHttp.setRequestHeader("Content-length", params.length);

有没有办法按照我上面提供的代码格式设置请求头?我已经尝试过类似的方法:

标题:{ “内容长度”:params.length }

但没有结果。任何帮助将不胜感激。

最佳答案

使用如下代码:

                var url = '{HOME}ajaxController.php?';
var data = "mod=catalog&op=ajaxSeenProducts";
$.ajax({
url: url,
data: data,
dataType: "html",
type:'post',
success:function(seenProducts){
$('#seen_products_box').empty();
$('#seen_products_box').append(seenProducts);
},
error:function(response){

}
});

关于javascript - 在ajax中设置请求头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16294526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com