2012-03-12 52 views
0

下面是我的代码价值没有得到AJAX REST服务调用时正确检索中的PhoneGap

<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,并显示值correctly.But想,如果我去第二.html,然后我手动更改something.xml中的服务器值,然后如果我返回到one.html,那么值不会改变。它显示旧值。这些更改不受影响。我究竟做错了什么?

+0

这可能是由于某些缓存问题。你可以尝试类似'url:“http://192.168.1.150:9051/something.xml”+“?time =”+ Date.now(),'以避免它。 – Prusse 2012-03-12 11:49:44

+0

嗨@Prusse它的工作原理:D ..使用你给我的修补程序或其他方式来完成它是很好的。反正把它作为答案,以便我可以标记它。 – 2012-03-12 12:02:04

回答

1

这可能是由于某些缓存问题。你可以尝试这样的:

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

尝试避免它。