爱心蜀黍
爱心蜀黍
  • 发布:2017-12-16 23:02
  • 更新:2017-12-16 23:02
  • 阅读:3060

关于mui.ajax的设置,以及php取不到data值的问题的方法

分类:MUI

代码小白,好不容易做到ajax这一步,又遇到坑了。

找了n多网站,也参考了论坛里面的文章。

最开始完全按照官方的demo来,直接报失败,如下:

[LOG] : SyntaxError: JSON Parse error: Unrecognized token '<'

取消json格式限制后,发现这个'<'token错误是来源于php错误报告的html标签。报告内容就是$post['username']找不到username,也就是说:

我发送的data格式和php获取的格式不一致。

经过无数次的撞墙实验后,发现这样成功了:

mui.ajax('http://server-name/login.php',{  
    data:{  
        username:'username',  
        password:'password'  
    },  
    dataType:'json',//服务器返回json格式数据  
    type:'post',//HTTP请求类型  
    timeout:10000,//超时时间设置为10秒;  
        crossDomain: true,  
    success:function(data){  
        //服务器返回响应,根据响应结果,分析是否登录成功;  
        ...  
    },  
    error:function(xhr,type,errorThrown){  
        //异常处理;  
        console.log(type);  
    }  
});

想想看既然data不认识,很可能header也不认识,
那就删掉header这一项吧,有这个header,怎么写怎么错 (不知道是我学艺不精,还是bug?)。然后写在php里:

<?php      
header('Access-Control-Allow-Origin:*');  
header('Access-Control-Allow-Methods:POST,GET');  
header('Access-Control-Allow-Credentials:true');   
header("Content-Type: application/json;charset=utf-8");   

//下面该怎么写怎么写

这样php就能读取到data并且 app能顺利的获取php的返回值了。

0 关注 分享

要回复文章请先登录注册