代码小白,好不容易做到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 个评论
要回复文章请先登录或注册