首页 > 代码库 > 360浏览器兼容模式 不能$.post (不是a 连接 onclick的问题!!)
360浏览器兼容模式 不能$.post (不是a 连接 onclick的问题!!)
最近发现一个360浏览器很蛋疼的事情,在兼容模式下
代码:
<a href="http://www.mamicode.com/#" onclick=‘doAudit(1)‘>审核</a>
点击没有任何效果,试了所有浏览器都不会
于是以为是兼容模式会变成IE6
于是改成各种写法
<a href="javascript:void(0)" onclick=‘doAudit(1); return false;‘>审核</a>
等等 发现没有任何作用
后来慢慢静下心,一段段注释掉发现,靠,原来是加了$.post后 a 就没反应了
后来查资料发现有人回答
360会缓存ajax返回值,给url加个时间戳再试试
于是
原来代码如下
<a href="http://www.mamicode.com/#" onclick=doAudit(1)‘>审核</a>
<script>
function doAudit( id) {
//审核
if (type == 1) {
$.post("/ajaxapp/commonajaxquery.ashx", { a: "Audit", id: id}, function (data, textStatus) {
if (data != null) {
}
else
alert("数据有误,请联系管理员");
});
</script>
在兼容模式下,点击连接,没有任何反映,在上方加alert() 来调试 也没有任何反映
在后面加了一个随机的时间戳(ts)
$.post("/ajaxapp/commonajaxquery.ashx", { a: "Audit", id: id, ts: Math.random() }
马上就可以了
看不懂的同学,可以这样写
$.post("/ajaxapp/commonajaxquery.ashx?ts=" + Math.random(), { a: "Audit", id: id }
用了2个小时,终于完美解决
360浏览器兼容模式 不能$.post (不是a 连接 onclick的问题!!)