[英]Does Windows 8 Phone support JQuery ajax call when using PhoneGap?
[英]Second ajax call not working in Phonegap Jquery mobile Windows phone 8
我正在使用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才能解决我的问题。 希望这有助于解决某人的挫败感。
我遇到过同样的问题。 我禁用缓存并解决问题:
request = $.ajax({ url: "http://X.X.X.X/Servlet/Login",
type: 'post',
data: serializedData,
cache: false
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.