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>
教训
每接触新东西之前都要粗略把文档看一遍,再看几本书的。
最近业余时间忙补番了,大意了,被其所坑。
好久没被坑过了……