• 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模块,故需真机调试

  • 相关阅读:
    缺少一个=出现的问题
    快速排序+归并排序
    ACwing简单题(14)
    浅谈#ifndef
    fstream 使用详解
    _stat函数的使用
    关于文件结构体的使用
    new的使用
    ACwing13题目
    ACwing13题
  • 原文地址:https://www.cnblogs.com/PheonixHkbxoic/p/6103157.html
Copyright © 2020-2023  润新知