我在处理一段 ajax 代码时遇到了麻烦。这是我从 mod security 收到的错误消息:
/ajaxController.php?mod=catalog&op=ajaxSeenProducts HTTP/1.1
使用代码 400(第 2 阶段)拒绝访问。运算符 EQ 在 REQUEST_HEADERS 匹配 0。[file "/usr/local/apache/conf/modsec2.user.conf"] [line "12"] [id "960012"] [msg "POST request must have a Content-Length header"] [severity "WARNING" ] [标签“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);
}
});
});
在寻找解决方案时,我发现在不同的地方我需要设置
内容长度
参数,但我发现的都是这种格式:
xmlHttp.setRequestHeader("Content-length", params.length);
有没有办法以我上面提供的代码格式设置请求标头?我已经尝试过类似的东西:
标头:{“内容长度”:params.length }
但没有结果。任何帮助,将不胜感激。