简体   繁体   English

在Phonegap中进行AJAX REST服务调用期间无法正确检索值

[英]Values not getting retrieved correctly during AJAX REST service call in Phonegap

Below is my code 下面是我的代码

<script type="text/javascript">
var Tag1, Tag2, Tag3, Tag4;
var Data1,Data2,Data3,Data4;

function onDeviceReady() {

    $.ajax({
        type : 'GET',
        url : "http://192.168.1.150:9051/something.xml",
        data : {
            key : "value"
        },
        dataType : "xml",
        success : function(xml) {

            Tag1 = $(xml).find('Tag').eq(0).text();
            Tag2 = $(xml).find('Tag').eq(1).text();
            Tag3 = $(xml).find('Tag').eq(2).text();
            Tag4 = $(xml).find('Tag').eq(3).text();

            Data1 = $(xml).find('Data').eq(0).text();
            Data2 = $(xml).find('Data').eq(1).text();
            Data3 = $(xml).find('Data').eq(2).text();
            Data4 = $(xml).find('Data').eq(3).text();

            var oHead1 = document.getElementsByTagName('HEAD').item(0);
            var paramScript = document.createElement("script");
            paramScript.type = "text/javascript";

            paramScript.setAttribute('Tag1', Tag1);
            paramScript.setAttribute('Tag2', Tag2);
            paramScript.setAttribute('Tag3', Tag3);
            paramScript.setAttribute('Tag4', Tag4);

            paramScript.setAttribute('Data1', Data1);
            paramScript.setAttribute('Data2', Data2);
            paramScript.setAttribute('Data3', Data3);
            paramScript.setAttribute('Data4', Data4);

            oHead1.appendChild(paramScript);

            var oHead = document.getElementsByTagName('HEAD').item(0);
            var oScript = document.createElement("script");
            oScript.type = "text/javascript";
            oScript.src = "something.js";
            oHead.appendChild(oScript);
        },

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

}

document.addEventListener("deviceready", onDeviceReady, false);
</script>

Now suppose if this is called in one.html and it displays the values correctly.But suppose if i go to second.html and then i manually change the server values in something.xml and then if i return back to one.html then the values doesnt get changed.It shows the old values. 现在假设是否在one.html中调用了它并正确显示了这些值,但是如果我转到second.html然后手动更改了something.xml中的服务器值,然后如果我返回到one.html,则值保持不变,显示旧值。 The changes is not affected. 更改不受影响。 What am i doing wrong? 我究竟做错了什么?

It maybe due to some cache issue. 可能是由于某些缓存问题。 You could try something like: 您可以尝试类似:

url : "http://192.168.1.150:9051/something.xml" + "?time=" + Date.now(),

to try avoid it. 尝试避免它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM