首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

360浏览器是否不支持Ajax

2013-08-25 
360浏览器是不是不支持Ajax?快到七夕节了,想给她单独制作一个网站在七夕节送给她,算是给她一个惊喜吧。网站

360浏览器是不是不支持Ajax?
快到七夕节了,想给她单独制作一个网站在七夕节送给她,算是给她一个惊喜吧。
网站也挺简单的,就一个主页和一个留言功能。
问题就出现在了留言功能这里,没学过php,所以我想通过Ajax首次加载的时候申请请求,服务端返回留言信息。返回的是字符串形式的,由JS解析之后显示在页面上。
发送没问题,但是在接受的时候,
我使用360浏览器发现req.status的值一直都是0,但是如果使用的IE或者火狐就是正常的200。
现在360浏览器用的这么广泛,真的不确信她用的是什么浏览器,所以我是想尽可能兼容所有的浏览器,这个问题该如何解决呢?


<script type="text/javascript">
/*通过异步传输XMLHTTP发送参数到ajaxServlet,返回符合条件的XML文档*/
var req=null;
function getResult() {
var message=document.getElementById('message');
var sendstr;
var url="http://127.0.0.1:8080/WebService/servlet/AjaxServlet?time="+new Date().toString();

if(message==null){
sendstr="";
alert("为空");
}else{
sendstr = "sendmsg=" + message.value;
alert("不为空");
}
if(window.ActiveXObject)
        {
        req = new ActiveXObject('Microsoft.XMLHTTP');
        }
   else if(window.XMLHttpRequest)
        {
        req = new XMLHttpRequest();
        }
if (req) {
req.onreadystatechange = complete;
req.open("POST", url);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(sendstr);
}
}

function complete() {
if (req.readyState == 4) {
if (req.status==200) {
var v = req.responseText;

showmsg(v);
}
if(req.status==0){
alert("抱歉,留言功能不支持360浏览器");
}
}
}
function showmsg(v){

var values=v.split("===");
for(var i=0;i<values.length;i++){
alert("留言提交成功");
if(values[i]!=null){
var values2=values[i].split("==");
document.getElementById("message"+(i+1)).innerHTML=values2[0];
document.getElementById("time"+(i+1)).innerHTML=values2[1];
}
}
}
window.onload=getResult();
</script>

[解决办法]
不用 360的产品
------解决方案--------------------


    var url="http://127.0.0.1:8080/WebService/servlet/AjaxServlet?time="+new Date().toString();
改成   
 var url="http://127.0.0.1:8080/WebService/servlet/AjaxServlet?time="new Date().getTime()
试试
[解决办法]
什么版本的360,新版本内核有IE和webkit。

如果status为0,返回的字符串格式正确也无所谓了,多增加status=0判断就行,status为0一般是本地file浏览器成功请求后就是0


    function complete() {
        if (req.readyState == 4) {
            if (req.status==200
[解决办法]
req.status==0) {
                var v = req.responseText;
             alert(v)
                showmsg(v);
            }
           /* if(req.status==0){
                alert("抱歉,留言功能不支持360浏览器");
            }*/
        }
    }

热点排行