Неправильно извлекаются значения во время вызова службы AJAX REST в Phonegap - PullRequest
0 голосов
/ 12 марта 2012

Ниже мой код

<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>

Теперь предположим, что если он вызывается в one.html и он правильно отображает значения. Но предположим, что если я перехожу к second.html, а затем вручную изменяю значения сервера в нечто .xml, а затем, если я возвращаюсь обратно к единице. html, то значения не меняются. Показывает старые значения. На изменения не влияет. Что я делаю не так?

1 Ответ

1 голос
/ 12 марта 2012

Возможно из-за какой-то проблемы с кешем.Вы можете попробовать что-то вроде:

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

, чтобы избежать этого.

...