日期:2014-05-16  浏览次数:20827 次

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的产品
------解决方案--------------------