mui.ajax中文乱码

Posted PheonixHkbxoic

tags:

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

估计这是个bug:

 

  1 //mui 的 ajax 中文乱码
  2             var url = ‘http://api.juheapi.com/japi/toh?key=1f26c107d8864bdfb98202bc314ce0d5&month=11&day=25&v=2.0‘
  3             mui.ajax(url,{
  4                 dataType:‘json‘,
  5                 type:‘post‘,
  6                 timeout:5000,
  7                 success:function(data){
  8                     console.log(data);
  9                     var result = JSON.stringify(data.result);
 10                     console.log(result);
 11                 },
 12                 error:function(xhr,type,errorThrown){
 13                     console.log(type);
 14                 }
 15             });
 16             
 17             mui.plusReady(function(){
 18                 // 此种方式不会 中文乱码,
 19                 function a(){
 20                     var xhr = new plus.net.XMLHttpRequest();
 21                     xhr.onreadystatechange = function () {
 22                         switch ( xhr.readyState ) {
 23                             case 0:
 24                                 alert( "xhr请求已初始化" );
 25                             break;
 26                             case 1:
 27                                 alert( "xhr请求已打开" );
 28                             break;
 29                             case 2:
 30                                 alert( "xhr请求已发送" );
 31                             break;
 32                             case 3:
 33                                 alert( "xhr请求已响应");
 34                                 break;
 35                             case 4:
 36                                 if ( xhr.status == 200 ) {
 37                                     alert( "xhr请求成功:"+xhr.responseText );
 38                                 } else {
 39                                     alert( "xhr请求失败:"+xhr.readyState );
 40                                 }
 41                                 break;
 42                             default :
 43                                 break;
 44                         }
 45                     }
 46                     xhr.open( "GET", url );
 47                     xhr.send();
 48                 }
 49 //                a();
 50             })
 51             
 52             //我们对其进行封装
 53             function myAjax(url,postData,success,error){
 54                 // 此种方式不会 中文乱码,
 55                 var type = postData.type;
 56                 var timeout = postData.timeout;
 57                 var data = postData.data;
 58                 var xhr = new plus.net.XMLHttpRequest();
 59                 if(timeout&&timeout>0) xhr.timeout = timeout;
 60                 xhr.onreadystatechange = function () {
 61                     switch ( xhr.readyState ) {
 62                         case 0:
 63 //                            alert( "xhr请求已初始化" );
 64                         break;
 65                         case 1:
 66 //                            alert( "xhr请求已打开" );
 67                         break;
 68                         case 2:
 69 //                            alert( "xhr请求已发送" );
 70                         break;
 71                         case 3:
 72 //                            alert( "xhr请求已响应");
 73                             break;
 74                         case 4:
 75                             if ( xhr.status == 200 ) {
 76                                 success(eval(‘(‘+xhr.responseText+‘)‘));
 77                             } else {
 78                                 error(xhr.readyState,xhr);
 79                             }
 80                             break;
 81                         default :
 82                             break;
 83                     }
 84                 }
 85                 if(data){
 86                     if(type==‘post‘||type==‘get‘){
 87                         xhr.open( type||"GET", url );
 88                         xhr.send(JSON.stringify(data));
 89                     }else{
 90                         throw new Error("type is undefined !")
 91                     }
 92                 }else{
 93                     if(type!=‘post‘&&type!=‘get‘){
 94                         throw new Error("type is undefined !")
 95                     }
 96                     xhr.open( type||"GET", url );
 97                     xhr.send();
 98                 }
 99                 
100             }
101             mui.myAjax = myAjax;
102             mui.plusReady(function(){
103                 mui.myAjax(url,{
104                             type:‘post‘,
105                             timeout:5000,
106                             data:{}
107                         },
108                     function(data){
109                         var result = data.result;
110                         result = JSON.stringify(result);
111                         console.log(result);
112                         mui.alert(result);
113                     },function(state,xhr){
114                         console.log(state)
115                     }
116                 );
117             })

 

1.仅仅对ajax,简单的封装一下,如果你看不顺眼,就自己封装吧

2.涉及到mui的plus模块,故需真机调试

 

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

使用mui.ajax完成跨域请求

mui 框架中结合mui.ajax实现 下拉刷新和上拉加载功能

mui封装的ajax请求

mui ajax登录怎么跨域

mui的ajax例子1

mui.ajax与服务器(SpringMVC)传输json数据