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,那么值不会改变。它显示旧值。这些更改不受影响。我究竟做错了什么?
这可能是由于某些缓存问题。你可以尝试类似'url:“http://192.168.1.150:9051/something.xml”+“?time =”+ Date.now(),'以避免它。 – Prusse 2012-03-12 11:49:44
嗨@Prusse它的工作原理:D ..使用你给我的修补程序或其他方式来完成它是很好的。反正把它作为答案,以便我可以标记它。 – 2012-03-12 12:02:04