加载 ~ 400(错误请求)。 XmlHttpRequest 适用于本地,但不适用于服务器端
Load ~ 400 (Bad Request). XmlHttpRequest works on local, but not on server-side
我正在异步加载(使用 XMLHttpRequest .readystate 和 .responseText)产品 table 分页或过滤器更改内容。我写的功能完美地工作,但仅限于本地。在 apache/ngnix 服务器端它 returns 错误的请求。请帮忙。
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 请求方法。示例包括 "GET"
和 "POST"
。无效的 HTTP 可能会导致您的服务器响应错误请求错误。
我正在异步加载(使用 XMLHttpRequest .readystate 和 .responseText)产品 table 分页或过滤器更改内容。我写的功能完美地工作,但仅限于本地。在 apache/ngnix 服务器端它 returns 错误的请求。请帮忙。
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 请求方法。示例包括 "GET"
和 "POST"
。无效的 HTTP 可能会导致您的服务器响应错误请求错误。