加载~ 400(错误请求).XmlHttpRequest适用于本地,但不适用于服务器端

Load ~ 400 (Bad Request). XmlHttpRequest works on local, but not on server-side

本文关键字:适用于 服务器端 不适用 XmlHttpRequest 错误 请求 加载      更新时间:2023-09-26

我正在对产品表内容进行异步加载(使用XMLHttpRequest.readystate&.responseText),以进行分页或更改过滤器。我写的Funsions很好,但只在本地。在apache/nnix服务器端,它返回错误的请求。请帮忙。

function loadContent(link) {
    var http = createRequestObject();
    if( http ) {
        http.open('load', link);
        http.onreadystatechange = function () {
            if(http.readyState == 4) {
                var div = document.createElement('div');
                div.innerHTML = http.responseText;
                var all = div.getElementsByTagName('div');
                for (var i = 0, len = all.length; i < len; i++) {
                   if (all[i] && all[i].getAttribute('id') == 'to-ajax') {
                      var deep = all[i].getElementsByClassName('product-layout col-lg-4');
                      $('.load').before(deep);
                   }
                }
            }
        }
        http.send(null);
    } else {
        document.location = link;
    }
}
function createRequestObject() {
    try { return new XMLHttpRequest() }
    catch(e) {
        try { return new ActiveXObject('Msxml2.XMLHTTP') }
        catch(e) {
            try { return new ActiveXObject('Microsoft.XMLHTTP') }
            catch(e) { return null; }
        }
    }
}

错误警告是指这行代码~ } http.send(null);

问题似乎出在.onreadystatechange函数上,但不知道如何测试它来定义确切的问题

open的第一个参数需要是一个包含HTTP请求方法的字符串。"load"不是HTTP请求方法。实例包括CCD_ 5和CCD_。无效的HTTP可能会导致服务器响应错误请求。