wangda_cn
wangda_cn
  • 发布:2014-12-27 21:13
  • 更新:2014-12-28 12:29
  • 阅读:2146

mui和plus.net.XMLHttpRequest 的ajax不好用了

分类:MUI

一共使用了三种方式来调用:
第一种:

            mui.get(urlStr, {}, function(data){  
                alert(data);  
                fillAttribute(data);   
            }, 'json');

返回的data是null。

第二种:

            if (!xhr) {  
                alert("new 一个新的");  
                xhr = new plus.net.XMLHttpRequest();  
                alert("new done");  
            }  
            xhr.onreadystatechange=xhrStatechange;  
            xhr.open( "GET", config.webServer + "/user/" + userId );  
            xhr.send();  

            function xhrStatechange(){  
                switch( xhr.readyState ) {  
                    case 4:  
                        if ( xhr.status == 200 ) {  
                            alert(xhr.responseText);  
                            var data = xhr.responseText;  
                            fillAttribute(data);   
                        } else {  
                            console.log( "xhr请求失败:"+xhr.readyState );  
                        }  
                        break;  
                    default :  
                        break;  
                }  
            }

这种调用方式结果非常奇怪,第一次打开这个WebView时,可以正常调用;之后再打开这个WebView就一直有问题,根据Alert来判断,是new plus.net.XMLHttpRequest失败了。

第三种:使用jQuery

            $.get(urlStr, {}, function(data){  
                alert(JSON.stringify(data));  

                fillAttribute(data);   
            }, "json");  

非常稳定,每次都可以正常执行。

大家有遇到过类似的情况吗?

2014-12-27 21:13 负责人:无 分享
已邀请:
wangda_cn

wangda_cn (作者)

我比较奇怪的是jQuery正常调用,为啥 mui.get 和 plus.net.XMLHttpRequest 都不能正常工作呢?

在手机上调试非常不方便,仅有的一个酷派手机系统是android 4.2的,没办法使用chrome来远程调,而使用了plus的JS代码没法在本地的浏览器上面调试。

DCloud_UNI_FXY

DCloud_UNI_FXY

你的手机网络是用的wifi还是3g or 4g,你的url是外网的?如果是的话,告诉我一下,我测试测试,

  • wangda_cn (作者)

    我用的Wifi,URL是内网的一个IP地址。我使用的是大神F1。

    2014-12-31 14:08

  • DCloud_UNI_FXY

    hello-mui中的ajax演示demo,在你的手机上测试正常吗

    2015-01-04 12:17

该问题目前已经被锁定, 无法添加新回复