n***@qq.com
n***@qq.com
  • 发布:2017-04-25 08:59
  • 更新:2017-04-25 14:55
  • 阅读:1566

mui ajax的问题

分类:MUI

微信端的mui ajax方法失效,有大神知道这是为什么吗?

2017-04-25 08:59 负责人:无 分享
已邀请:
LLgg

LLgg

mui ajax在没有plus的环境下,只能请求同一域的数据,
mui ajax在plus的环境下,才可以跨域请求其它域名的数据,
打包之后的app里面是集成了plus的环境,所以可以跨域请求其它域的数据,

你在微信使用mui ajax做的手机网站请求数据的话,会失效的问题,分为2种情况来检查:
1如果你使用mui ajax请求的数据是同一个域名的数据,还是会出现ajax方法失效的话,请仔细检查一下你的js代码,和请求的数据的格式有没有写错,以及mui需要的js文件有没有引用。
2如果你使用mui ajax请求的数据是其它域名的数据,会出现ajax方法失效的话,这是因为涉及到了跨域请求的问题,那么解决跨域请求数据的方法有2种。①服务器代理请求数据,②使用JSONP。

现在我先详细讲解第一种方案:
步骤一:在服务器端设置a.php页面,然后把其它域的数据请求过来(服务器是可以跨域请求其它域的数据的),
步骤二:再在b.html页面用mui ajax请求a.php页面,就可以实现跨域请求数据了.
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
注意:【b.html---ajax页面 】和【a.php--服务器页面】是必须在同一个域下的,利用【a.php--服务器页面】请求其它域的数据。

b.html-------ajax页面

<html>  
<head>  
    <meta charset="UTF-8">  
    <meta content="width=device-width, initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">  
    <script src="js/mui.min.js"></script>  
    <script>  
        mui.init();  
        mui.ajax('a.php', {      //请求的同域名服务器页面  
            dataType: 'html',//服务器返回html格式数据  
            type: 'GET',//HTTP请求类型  
            timeout: 15000,//超时时间设置为10秒  
            async: true,  
            cache: true,  
            success: function (data) {  
                document.getElementById("zxlmweb").innerText = data;  

            },  
            error: function (xhr, type, errorThrown) {  

            }  
        });  
    </script>  
</head>  
<body>  
    <div id="zxlmweb"></div>  
</body>  
</html>

a.php----服务器页面(php格式)

<?php  
 $pagecontent = file_get_contents("http://www.baidu.com"); //请求百度页面源代码  
 echo htmlspecialchars($pagecontent);  
 ?>

-------------图片解说------------------

这是我的网站,O(∩_∩)O谢谢支持----->>中旋网ZxlmWeb

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