我需要从网页获取JSON响应文本才能进行解析。但是,当我创建XML HTTP请求时,返回的HTML甚至不在我请求的页面中。
我已经验证了内容类型已设置为application / json,必需的xmlhttprequest而不是xhr2(不起作用),将XMLHttpRequest.responseType设置为“ json”等。我尝试使用其他URL(https://jsonplaceholder.typicode.com/todos/1),并且可以获取JSON响应文本。但是,使用我的“秘密URL”(不幸的是无法提供),我得到了HTML响应。
我不确定从何处获取HTML,我查看了SauceLabs,但此刻它失败了。我也尝试过browser.getURL(),但得到了
function myXMLRequest() {
var XMLHttpRequest = require('xhr2');
XMLHttpRequest.responseType = "json";
var xmlhttp = new XMLHttpRequest();
// this URL works, but my secret URL does not
var url = "https://jsonplaceholder.typicode.com/todos/1";
xmlhttp.onreadystatechange = function() {
console.log("this.readyState: " + this.readyState + "
this.status: " + this.status);
if (this.readyState === 4 && this.status === 200) {
console.log("this.responseText: " + this.responseText);
} else {
console.log("I was not ready");
}
};
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
在有效的URL中,我收到如下响应文本:
{
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
}
我希望我的秘密URL获得这样的响应。从我的图片可以看出,目前它会获得HTML响应。
答案 0 :(得分:0)
您的秘密URL仅定向到重定向页面。
在XML http请求中,您需要指定最终URL->可能是表单操作中的最终URL(在您的图像中)。