jquery mobile AJAX特性的陷阱

简单情况是 MVC 重定向,URL不变

试了N种方式,跳来跳去,无解,服务端跳,写JS跳,生成跳转中间页跳。失败

后来一看,明明已经跳到新页了,样式什么还是原页的,有点火大了。

 

出去溜一圈,喝杯水,和同事东拉西扯一通。

回头一看,突然反应过来,这不是AJAX的效果么,坑我半个多小时。

 

为加验证,是手动调用的submit。没往AJAX上想。

$("form").submit();

 

但jquery mobile 内部会把submit也通过AJAX访问。

 

解决办法是禁用。 注意 

绑定mobileinit方法要写在 引入jquerymobile之前。
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>

<script>
$(document).bind("mobileinit", function () {
$.mobile.ajaxEnabled = false;
$.mobile.defaultPageTransition = 'none';
$.mobile.hashListeningEnabled = true;
$.mobile.pageLoadErrorMessage = 'Sorry, something went wrong. Please try again.';
$.mobile.buttonMarkup.hoverDelay = false;
});
</script>

<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>

 教训

每接触新东西之前都要粗略把文档看一遍,再看几本书的。

最近业余时间忙补番了,大意了,被其所坑。

好久没被坑过了……

posted @ 2014-08-08 17:33  cclient  阅读(920)  评论(0编辑  收藏  举报