估计这是个bug:
[![复制代码](https://common.cnblogs.com/images/copycode.gif)](javascript:void(0); "复制代码")
~~~
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 })
~~~
[![复制代码](https://common.cnblogs.com/images/copycode.gif)](javascript:void(0); "复制代码")
1.仅仅对ajax,简单的封装一下,如果你看不顺眼,就自己封装吧
2.涉及到mui的plus模块,故需真机调试
本人博客欢迎转载!但请注明出处!本人博客若有侵犯他人之处,望见谅,请联系我。希望互相关注,互相学习 --[PheonixHkbxoic](http://www.cnblogs.com/PheonixHkbxoic/)