我的第一篇文章 我试图调用一个休息的web服务来使用AJAX动态填充我的lov。它在IE8中适用于我,但不适用于chrome。在执行我在下面的代码中提到的时,我无法到达特定的行。我错过了什么。请帮忙。
07-24-2012 - 我找到了这个问题的根本原因。它是因为html代码中指定的应用程序缓存代码。一旦我删除了ajax调用工作正常。但我需要在离线模式下使这个页面可用。有关此问题的任何建议,使页面可以离线使用,还有ajax webservice调用可以正常工作吗?谢谢,
<script type="text/javascript">
var eleCount;
var xmlDoc;
function init() {
eleCount =0;
}
function populate()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
alert("Window for chrome");
xmlhttp = new XMLHttpRequest();
}
else
{// code for IE6, IE5
alert("Else Window for IE");
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
}
var url = "http://localhost:7101/Mobile-MobileModel-context- root/jersey/Search/searchLov";
xmlhttp.onreadystatechange = function()
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
var det = xmlhttp.responseText ;
if (window.DOMParser)
{
//I cannot reach this line while executing.
alert("This alert is not appearing");
var parser=new DOMParser();
xmlDoc=parser.parseFromString(det,"text/xml");
var x=xmlDoc.getElementsByTagName("fieldValue");
var txta =new Array();
....some code
}
}
else // Internet Explorer
{
alert("else window DOM parser for IE");
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(det);
...... some code
} // end for
} //end else for Other Browser (window.DOMParser)
} //end if Readystate 4 and Status 200
else{
}//else
}//close OnReadyStatechange Function
xmlhttp.open('GET',url,true);
xmlhttp.send(null);
eleCount = eleCount + 1;
}//end Function Populate()
</script>
答案 0 :(得分:1)
我让它工作 - 每当我添加这一行时问题就出现了
<HTML manifest=../../demo.appcache>
此代码会将清单文件中提到的文件下载到浏览器的应用程序缓存中。当我删除这一行时,其余的调用工作正常。