2 u014603095 u014603095 于 2015.06.16 10:53 提问

这段代码为何没有先执行最开始那个getHtml()函数?
 <!DOCTYPE html>
<html class="um landscape min-width-240px min-width-320px min-width-480px min-width-768px min-width-1024px">
    <head>
        <title></title>
        <meta charset="utf-8">
        <meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
        <link rel="stylesheet" href="css/fonts/font-awesome.min.css">
        <link rel="stylesheet" href="css/ui-box.css">
        <link rel="stylesheet" href="css/ui-base.css">
        <link rel="stylesheet" href="css/ui-color.css">
        <link rel="stylesheet" href="css/appcan.icon.css">
        <link rel="stylesheet" href="css/appcan.control.css">
        <link rel="stylesheet" href="2_2_content/css/main.css">
        <script src="js/jquery-1.11.1.min.js"></script>
        <script>
            window.uexOnload = function(type){
    uexWindow.setBounce(1);
    uexWindow.notifyBounceEvent(0,1);
    var json='{"textColor":"#000","imagePath":"res://refesh_icon.png","levelText":"更多","pullToReloadText":"拖动到底部","releaseToReloadText":"释放回原处","loadingText":"载入中..."}';
    uexWindow.setBounceParams(0, json);
    uexWindow.showBounceView("0","#00F", 1);
    var json2 ='{"textColor":"#fff","imagePath":"res://refesh_icon.png","levelText":"更多","pullToReloadText":"上拉到底部","releaseToReloadText":"松手回原处","loadingText":"载入中..."}';
    uexWindow.setBounceParams(1, json2);
    uexWindow.showBounceView("1","rgba(15, 155, 155, 100)", 1);
    uexWindow.onBounceStateChange = onBounceStateChange;
    }

    function onBounceStateChange(type, state){
    switch(type) {
                case 0:
                if (state == 2) {
                uexWindow.resetBounceView("0");
                uexWindow.open('2_1', '0', '2_1.html', 4, '', '', 4,100);
                }
                break;
                case 1:
                if (state == 2) {
                uexWindow.resetBounceView("1");
                }
                }
                }
        </script>
        <script>
        var arrData;  //从服务器获得的数据
        //arrData.pop();//删除数据
        //arrData.push({"picture" : OO+".jpg","ABC" : "abcd12",});//添加数据
        var arr;     //从 arrData解析出来的数据 
        var arr_LOST; //最终数据  
        var num; //判断有几组12个数据
        var length;
        var m_length;
        TheArray = new Array();   //先声明一维
        m = 0;//表明当前应该执行第几组,默认从最开始的第0组开始 

        //创建xmlHttp对象,验证网络状况
   </script>

   <script>

    function getHtml(){
      $.get("http:// 192.168.0.21:19842/rt/YearServlet",function(data,status){
      arrData=data;
      arr = eval('('+arrData+')');  //LX:只需要对arr进行修改,可以alert出来看看这个数组
      alert("CCC"+arr);
      arr_LOST=arr;
    });         

 }
   getHtml();
 </script>
    </head>
    <body class="um-vp bc-bg" ontouchstart>
        <div class="ub ub-ver">
            <div class="umar-a1">
                <div class="sc-bg-active uinput ub ub-f1  bc-border uba">
                    <div class="uinn fa fa-search sc-text"></div>
                    <input placeholder="搜索你想知道的" type="text" class="ub-f1">
                    <button class="btn   bc-text-head   Mybutton" style="color:black; font-weight:bold;" onclick="A()">搜索</button>
                </div>
            </div>
        </div>
        <div style="width: 100%" id="page"></div>
        <div  class=" ub-ver uinn-p1" id="pictureList"></div>

        <script src="js/appcan.js"></script>
        <script src="js/appcan.control.js"></script>
    </body>
    <script>
        alert('ABC'+arr);
    </script>

    <script>
        appcan.ready(function() {
            appcan.initBounce();


        })
    </script>
</html>

这段代码为何没有先执行getHtml();并弹出alert("CCC"+arr);而是先执行alert('ABC'+arr);再执行的alert("CCC"+arr);
如何先执行alert('ABC'+arr);呢?

5个回答

meifalong
meifalong   2015.06.16 10:58
已采纳
时间估计话费在这个请求上了 $.get("http:// 192.168.0.21:19842/rt/YearServlet",function(data,status){


    你把 alert("CCC"+arr);放在这个请求前试试
u011109586
u011109586   2015.06.16 10:59

这段代码先执行 的是getHtml,至于alter的结果就是因为getHtml 中alter是在异步请求成功后才出现的,如果把alert 下载异步请求的外面,肯定是先执行的。

异步请求是需要时间返回的。拙见。

u011109586
u011109586   2015.06.16 10:58

这段代码先执行 的是getHtml,至于alter的结果就是因为getHtml 中alter是在异步请求成功后才出现的,如果把alert 下载异步请求的外面,肯定是先执行的。

异步请求是需要时间返回的。拙见。

meifalong
meifalong   2015.06.16 10:58
时间估计话费在这个请求上了 $.get("http:// 192.168.0.21:19842/rt/YearServlet",function(data,status){


    你把 alert("CCC"+arr);放在这个请求前试试
linfenpan
linfenpan   2015.06.16 14:56

$.get("http:// 192.168.0.21:19842/rt/YearServlet"); 这个请求,应该没相应吧?
你网页的域名,也是 192.168.0.21:19842么?

涉及跨域,ajax是跑不通的

Csdn user default icon
上传中...
上传图片
插入图片