当前位置: 首页 > 面试题库 >

我如何在全局javascript变量中获取Ajax内容

裴学
2023-03-14
问题内容

我想将内容放入javascript全局定义的变量中,我使用ajax call获得的内容。

http://pastebin.com/TqiJx3PA

感谢您的任何建议


问题答案:

pastebin代码已经做到了。我猜您实际上面临的问题是存在的,因为您的ajax调用是 异步的
,这意味着您正在(异步)发出ajax请求,并立即尝试访问全局变量中的值-但它尚未尚未设定。

解决方案是在onReadyStateChange回调中执行后ajax代码。

function handleResponse(result_cont) {
    // your result_cont processing code here
}

ajax(handleResponse);

function ajax(callback) {
    var xmlHttp;
    try { // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    } catch (e) {
        // Internet Explorer
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                return false;
            }
        }
    }
    xmlHttp.onreadystatechange = function () {
        if (xmlHttp.readyState == 4) {
            if (xmlHttp.responseText != "") {
                result_cont = xmlHttp.responseText
                alert(result_cont);

                // ############# here's the important change #############
                // execute the provided callback
                callback(result_cont);
            }
        }
    }
    xmlHttp.open("GET", "contentdetails.php?cid=1", true);
    xmlHttp.send(null);
}


 类似资料:
  • 问题内容: 如何在JavaScript中声明全局变量? 问题答案: 如果必须在生产代码中生成全局变量(应避免使用),请 始终 明确 声明它们: 虽然可以通过省略来定义全局变量(假设没有同名的局部变量),但这样做会生成 隐式 全局,这是一件不好的事情,并且在 严格模式下 会产生错误。

  • 问题内容: 我想在脚本中签入某个其他模块是否已加载。 但是,如果不存在,那就是。 如果我知道那是什么,我可以使用它。 但是,因为我希望我的模块与浏览器和工作,等等,我不能假设。 据我了解,这在ES 5 with中不起作用; 这也会因抛出异常而失败 所以好像我已经离开了 这些情况都不会通过JSLint。 我有什么想念的吗? 问题答案: 好吧,您可以使用运算符,并且如果标识符在范围链的任何位置都不存在

  • 问题内容: 我们都知道全局变量只是最佳实践。但是在有些情况下,没有它们很难编写代码。您使用什么技术来避免使用全局变量? 例如,在以下情况下,您将如何不使用全局变量? JavaScript代码: 相关标记: 此代码来自具有多个的网络表单。它一次上传一个文件,以防止大量请求。它通过POST到iframe来完成此操作,等待响应触发iframeonload,然后触发下一个提交。 您不必专门回答此示例,我只

  • 问题内容: 我正在使用函数,这样我的程序就不会一团糟,但我不知道如何将局部变量变成全局变量。 问题答案: 这是两种实现相同目的的方法: 使用参数并返回(推荐) 运行时,将获得以下输出 使用全局变量(永远不要这样做) 现在您将获得:

  • 借助脚本任务和kcontext实例,我可以成功地从流程内检索全局变量(如NodeInstance、ProcessInstance等);但如果我需要在WorkItem中检索这些全局变量呢?当然,我可以将脚本任务放在进程中我的工作项之前,然后将一个全局变量分配给其中一个变量定义,以便在带有getParameter()方法的工作项中使用它; 但我们确实明白,这是双重的,不是吗?那么,在没有额外脚本任务的

  • 问题内容: 我想要可以使用PHP访问的JavaScript变量的值。我正在使用下面的代码,但它没有在PHP中返回该变量的值。 这给了我以下错误:- 我使用的另一个PHP代码给出了空值 当我回声时,它什么也没显示。 问题答案: 您将需要使用JS将其中包含变量的URL发送回去,例如:http : //www.site.com/index.php?uid=1 通过在JS中使用如下代码: 然后在PHP代码