我正在使用Jquery mobile构建一个phonegap应用程序,我使用ajax调用来与tomcat服务器进行通信。我所有的脚本都位于应用程序内。我的第一个ajax调用有效,而我的第二个ajax调用不适用于Windows Phone 8,并且可以在Android和iOS中使用。
我使用的是单域,也使用跨域标志,以防第二个ajax调用仍然不走运。我在每个JQM页面中都有ajax调用,尽管我得到了(HTTP 200 OK)作为响应,但登录页面中的ajax调用正常工作,所有其他ajax调用均无法正常工作,但在Tomcat中看不到请求登录服务器(尽管我可以看到第一个登录ajax请求)。
我认为,在初始ajax调用(登录)期间创建的jsession ID在导航到下一个JQM页面期间会以某种方式丢失。
这是我在应用程序中使用的ajax调用,
request = $.ajax({
url: "http://X.X.X.X/Servlet/Login",
type: “post”,
data: serializedData
});
尽管我没有使用跨域(所有调用都使用相同的IP),但我在应用中有以下标志。
$(document).bind("mobileinit", function() {
$.support.cors=true;
$.mobile.allowCrossDomainPages = true;
$.mobile.pushStateEnabled = false;
$.mobile.touchOverflowEnabled = false;
$.mobile.defaultPageTransition = 'slide';
$.mobile.defaultDialogTransition = 'pop';
$.mobile.transitionFallbacks.slide = 'none';
$.mobile.transitionFallbacks.pop = 'none';
$.mobile.buttonMarkup.hoverDelay = 0;
$.mobile.phonegapNavigationEnabled = true;
});
我已经设定data-ajax=“false”
了使用的表格。
另外,event.preventDefault();
在单击提交按钮后,我还必须针对Windows Phone 8删除其他内容,而无需执行任何操作即可刷新页面。
我想再次指出,我的代码在Android和iOS上运行完美(仅添加了跨域标志)。但是在Windows Phone 8中,我无法对同一服务器进行第二次ajax调用。
希望我能在您的帮助下解决此问题,我们将不胜感激。谢谢。
我必须启用Windows Phone 8的Internet Explorer的Cookie才能解决我的问题。希望这有助于解决某人的挫败感。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句