当前位置:  开发笔记 > 编程语言 > 正文

脚本仅在警报框位于脚本中时有效

如何解决《脚本仅在警报框位于脚本中时有效》经验,为你挑选了1个好方法。

如果我从以下脚本中取出警报,那么firebug说结果是未定义的?`




    
        Inventory Management
        
        Untitled Document
        
        
    
    
        

Orion Edward.. 8

它不起作用的原因是因为它XmlHttpRequest异步的.这意味着,你不能return results;

这是一个时间表,带有警告框:

    创建XmlHttpRequest

    发送

    弹出警报框并在那里停留一段时间

    XmlHttpRequest结果返回并resultsonreadystatechange函数中设置变量

    单击警报框上的"确定"

    函数返回(return results行)

    其他代码运行并使用results变量执行操作.

这是没有警报框的时间线:

    创建XmlHttpRequest

    发送

    函数返回(return results行)

    其他代码运行并使用results变量执行操作.这失败了,因为它尚未设置

    XmlHttpRequest结果返回并resultsonreadystatechange函数中设置变量

相反,你必须将植物代码(分裂等)放在onreadystatechange回调中,或者将它放在它自己的函数中,并从中调用该函数onreadystatechange



1> Orion Edward..:

它不起作用的原因是因为它XmlHttpRequest异步的.这意味着,你不能return results;

这是一个时间表,带有警告框:

    创建XmlHttpRequest

    发送

    弹出警报框并在那里停留一段时间

    XmlHttpRequest结果返回并resultsonreadystatechange函数中设置变量

    单击警报框上的"确定"

    函数返回(return results行)

    其他代码运行并使用results变量执行操作.

这是没有警报框的时间线:

    创建XmlHttpRequest

    发送

    函数返回(return results行)

    其他代码运行并使用results变量执行操作.这失败了,因为它尚未设置

    XmlHttpRequest结果返回并resultsonreadystatechange函数中设置变量

相反,你必须将植物代码(分裂等)放在onreadystatechange回调中,或者将它放在它自己的函数中,并从中调用该函数onreadystatechange

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有