javascript - 第二个 ajax 调用在 Phonegap Jquery 移动 Windows 手机 8 中不起作用

标签 javascript ajax jquery-mobile windows-phone-8 cordova

我正在使用 Jquery mobile 构建一个 phonegap 应用程序,我使用 ajax 调用与 tomcat 服务器通信。我的所有脚本都位于应用程序中。我的第一个 ajax 调用有效,而我的第二个 ajax 调用不适用于 Windows Phone 8,但适用于 Android 和 iOS。

我使用的是单域,也使用了跨域标志,以防第二次 ajax 调用仍然失败。我在每个 JQM 页面中都有 ajax 调用,只有登录页面中的 ajax 调用有效,所有其他 ajax 调用都不起作用,尽管我得到 (HTTP 200 OK) 作为响应,但我没有在 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 调用。

希望我能在您的帮助下解决这个问题,我们将不胜感激。谢谢。

最佳答案

这可能与缓存问题有关 - 要尝试解决此问题,请尝试在序列化数据中添加其他随机值。你可以引用这个

Prevent browser caching of jQuery AJAX call result

我在 ajax 调用中遇到了类似的问题,这个随机变量解决了这个问题

关于javascript - 第二个 ajax 调用在 Phonegap Jquery 移动 Windows 手机 8 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18551059/

相关文章:

javascript - 如何通过扩展为 javascript 代码提供额外的功能?

javascript - 在不使用 JavaScript 重新加载页面的情况下继续更改背景颜色

javascript - 在 Node js 中使用来自本地 apache 服务器的 http.request 提取数据失败

javascript - 如何按下键 :value to dictionary in JavaScript?

javascript - 检索自述文件的 HTML

javascript - 第一个 AJAX 总是在最后一个嵌套 AJAX 完成之前发生

javascript - 使用javascript检查跨域url是否给出404

html - JQuery Mobile ListView 使用 slider 按钮在多行上显示文本

javascript - 滑动以更改页面 - 不同的域

php - 如何用jquery mobile和ajax实现浏览器历史记录和书签