XMLHTTPRequest() 之后的 Javascript 返回

标签 javascript xmlhttprequest

我有这个问题,所以我想返回 XMLHTTPRequest() 之后收到的值,这可能吗?如果没有,我将如何实现相同的总体想法?这是我到目前为止所拥有的(显然不起作用)。

function something(url) {
     var temp = getPage(url);
     console.log(temp);
}

function getPage(url) {
     var x = new XMLHTTPRequest();
     x.onload = function() {
          var html = x.responseText;
          //CODE TO PARSE HTML TEXT
          var variable = SOMETHING PARSED FROM HTML
          return variable;
     }
     x.open("GET", url);
     x.send();
}

最佳答案

这是每个新的 JavaScript 开发人员都必须处理的编程范例。

由于 JavaScript 的异步特性,函数往往不会通过 return 语句传回值,而是通过回调方法传回值。

function something(url) {
     getPage(url, function(temp) {
         console.log(temp);
     });
}

function getPage(url, callback) {
     var x = new XMLHTTPRequest();
     x.onload = function() {
          var html = x.responseText;
          //CODE TO PARSE HTML TEXT
          var variable = SOMETHING PARSED FROM HTML
          callback(variable);
     }
     x.open("GET", url);
     x.send();
}

关于XMLHTTPRequest() 之后的 Javascript 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30284000/

相关文章:

javascript - 如何增加 Vue 应用程序的 max-http-header-size

javascript - 仅在安装时通过 WhatsApp 共享

javascript - 使用 jQuery 单击按钮时,如何让我的 CSS 动画运行?

javascript - 在 XMLHttpRequest 之后打开页面

xml - 对于ajax请求,json vs xml的优缺点是什么?

javascript - 使用 XMLHttpRequest() 和 codeigniter 上传 AJAX 文件会出现错误 - "You did not select a file to upload."

javascript - 如何使用 JavaScript 在 Hackerrank 中发出 AJAX 请求?

javascript - 同一字符串 Javascript 上的多个正则表达式模式

JavaScript:XMLHttpRequest 状态总是返回 0

javascript - if 语句中 while 循环的功能是什么? JavaScript