为什么此代码不起作用?
function sendHttprequest (uRL)
{
with ( new XMLHttpRequest ()){
open('get' ,uRL)
send ( void 0)
console . log ("RESPONSETEXT:",responseText);;
}
}
应该向指定的URL发出HTTPS获取请求。请帮助!
我从freecodecamp获得了此代码,请帮助
答案 0 :(得分:1)
发出XMLHttpRequest后,您将无法访问响应。您必须设置onload
处理程序以等待请求完成,然后在加载时获取响应。 with
的使用表示代码已过时,不建议使用。
因此,您的代码已更正:
function sendRequest(url) {
let request = new XMLHttpRequest();
request.onload = function (e) {
console.log('response', request.responseText);
};
request.open("GET", url);
request.send();
}
,如果您必须使用with
:
function sendRequest(url) {
with (new XMLHttpRequest()) {
onload = function (e) {
console.log('response', responseText);
};
open("GET", url);
send();
}
}
答案 1 :(得分:-1)
在open方法中,您缺少应提供的async参数。 以下是来自w3schools的示例。访问https://www.w3schools.com/js/js_ajax_http.asp了解更多信息。
function loadDoc() {
var xhttp;
if (window.XMLHttpRequest) {
// code for modern browsers
xhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML = this.responseText;
}
};
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
}