第一:
URL中含有转义字符例如 双引号 "" 、大括号{}等
解决办法:对url编码
js内置函数:encodeURI()
或者encodeURIComponent()
第二
IOS9以后添加了新特性,不再支持HTTP协议(不安全)。改用HTTPS
1、在Android中使用HTTP协议
//登录login:function(count,password,callback) {var param = {"username":count,"password":password};var url = 'http://' + ip + ':' + port + '/api?action=login¶m={}'// + JSON.stringify(param);//var request = new XMLHttpRequest();var request;if(window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safarirequest=new XMLHttpRequest();console.log("使用XMLHttpRequest");}else{// code for IE6, IE5request=new ActiveXObject("Microsoft.XMLHTTP");console.log("使用ActiveXObject");}console.log("登录:" + url);console.log("open");request.open("GET", url, true);console.log("send");request.send();request.onreadystatechange = function () {console.log("request callback");if (request.readyState == 4 && (request.status >= 200 && request.status < 400)) {var response = request.responseText;var rsp = JSON.parse(response).data;var ret = JSON.parse(response).ret;if(0 == ret){console.log("登录--失败");console.log(rsp);console.log(ret);callback(false,rsp);}else{callback(true, rsp);}}};},
上述代码就是犯了第一个问题,使用的是JSON.stringify(param) ,所以在链接后面又是双引号又是大括号的。
切记、切记!