【问题标题】:Web service not called the second time if i make a request to webserver如果我向网络服务器发出请求,则不会第二次调用网络服务
【发布时间】:2012-04-02 06:40:53
【问题描述】:

我有一个使用 phonegap 1.5.0 和 jquery mobile 1.1.0 制作的应用程序...... 我有这样的结构

<div data-role="page" id="page1">       
</div>

<div data-role="page" id="page2">       
</div>

我像这样在 page2 的页面显示上调用 web 服务

$("#page2").on("pageshow", function(e) {
$
    .ajax({
        type : 'GET',
        url : "http://192.168.1.88:9051/some.xml"
                + "?time=" + Date.now(),
        data : {
            key : "value"
        },
        dataType : "xml",
        success : function(xml) {

        },

        error : function(xhr) {
            alert("Error while loading the Mock Service !!!");
        }
    });
});

如果我第一次进入 Page2,这很好用。假设如果我导航回第 1 页,然后再次导航到第 2 页,则不会调用 Web 服务。

我什至尝试使用 pageinit,但没有成功...这是 Ajax 问题吗?

如何解决这个问题?

【问题讨论】:

标签: ajax web-services jquery-mobile cordova


【解决方案1】:

您是否尝试过关闭缓存?

// setup globally
$.ajaxSetup ({
    cache: false
});

或者,

// setup individual calls
$.ajax({
    cache: false, // disable caching
    type : 'GET',
    url : "http://192.168.1.88:9051/some.xml"
            + "?time=" + Date.now(),
    data : { key : "value"},
    dataType : "xml",
    success : function(xml) {

    },

    error : function(xhr) {
        alert("Error while loading the Mock Service !!!");
        }
    });
});

【讨论】:

  • 您可以在 $(function(){}); 中的任何位置声明它
  • 它仍然无法正常工作......如果我们隐藏它,我们有没有办法删除它?
  • 你能发布你的完整代码吗?有什么地方不对劲。
  • 嗨丹尼斯...似乎我只能在整个文档中进行 3 个 Web 服务 Ajax 调用...我在许多场景中测试过...可能是什么原因?
  • 您确定这是 Web 服务还是客户端 AJAX 问题?
【解决方案2】:

您是否检查过 firebug、“控制台”和“网络”选项卡以查看您的脚本发送和接收的内容?

$("#div")

在我看来是错误的。应该是 div(所有 div 元素)或 #page1(id 'page1')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 2012-02-22
    • 2010-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-01
    相关资源
    最近更新 更多