ajax return 的问题

Posted 笠航

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax return 的问题相关的知识,希望对你有一定的参考价值。

平时都是在AJAX里执行逻辑,实然想到能不能return返回数据呢?

ajax 是异步请求,return拿值得时候 ajax并没有取到值,所以是undefind。

需要把ajax的请求方式改为同步 

    var xmlhttp;
    var doneStr = loadXMLDoc(\'https://www.cnblogs.com/liudongpei/p/6021170.html\');

    function loadXMLDoc(url) {
        var htmldata;
        xmlhttp = null;
        if (window.XMLHttpRequest) { // code for IE7, Firefox, Opera, etc.
            xmlhttp = new XMLHttpRequest();
        } else if (window.ActiveXObject) { // code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        if (xmlhttp != null) {
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4) { // 4 = "loaded"
                    if (xmlhttp.status == 200) { // 200 = "OK"
                        htmldata = get_cnblogs_post_body(xmlhttp.responseText);
                    } else {
                        alert("Problem retrieving XML data:" + xmlhttp.statusText);
                    }
                }
            }
            xmlhttp.open("GET", url, false);
            xmlhttp.send(null);
        } else {
            alert("Your browser does not support XMLHTTP.");
        }
        return htmldata;
    }

 

以上是关于ajax return 的问题的主要内容,如果未能解决你的问题,请参考以下文章

AJAX相关JS代码片段和部分浏览器模型

Javascript代码片段在drupal中不起作用

前端面试题之手写promise

执行AJAX返回HTML片段中的JavaScript脚本

Ajax 片段元标记 - Googlebot 未读取页面内容

Ajax中return false无效,代码如下