我已经搜索了该主题并在https://stackoverflow.com/search?q=api+replace+%27GET%27+url+with+a+variable处结束,但似乎没有答案能回答我的问题。
这是我的代码:
function wpp(){
let ourRequest = new XMLHttpRequest();
ourRequest.open('GET', 'https://averylong.url/with/some/stuff/andshit'); <-- wan to to replace this with a variable
ourRequest.onload = function() {
if (ourRequest.status >= 200 && ourRequest.status < 400) {
let data = JSON.parse(ourRequest.responseText);
myHtml(data);
} else {
console.log("server returned an error.");
}
};
ourRequest.onerror = function() {
console.log("Connection error");
};
ourRequest.send();
}
我想做的是以下
let myNewUrl = localStorage.getItem(449);
function wpp(){
let ourRequest = new XMLHttpRequest();
ourRequest.open('GET', myNewUrl);
ourRequest.onload = function() {
if (ourRequest.status >= 200 && ourRequest.status < 400) {
let data = JSON.parse(ourRequest.responseText);
myHtml(data);
} else {
console.log("server returned an error.");
}
};
ourRequest.onerror = function() {
console.log("Connection error");
};
ourRequest.send();
}
但是每次出现此错误时: GET https://averylong.url/with/some/stuff/449 403(禁止访问)
但是如果我在浏览器中复制/粘贴相同的网址,我会毫无问题地获取json数据
EDIT屏幕截图 console error
答案 0 :(得分:0)
我要感谢@ravi的评论将我引向了兔子洞.....有些事情是看不见的,但是我在某个地方找到了答案。
问题是ModSecurity,它发生的原因是ModSecurity不喜欢wordpress,您必须将其禁用,否则它将返回403错误,现在有趣的部分是,即使返回403错误,它也会在“浏览器”和“邮递员”,这就是为什么我坚持写错JavaScript的原因,当javascript发现403错误时,它就停止了,即使在那里,也不会呈现答案。解决方案:如果您正在使用wordpress API,请关闭ModSecurity。