我正在使用jQuery並嘗試加載一個變量來代替命名的xml文件。 我的代碼:在XMLHttpRequest中使用變量名稱
$(document).ready(function() {
// bind 'myForm' and provide a simple callback function
$('#theForm').ajaxForm(function(responseXML2) {
var myxml = responseXML2;
alert(responseXML2);
displayResult();
});
});
function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
{
alert("loading xmlhttprequest");
xhttp=new XMLHttpRequest();
}
else
{
alert("loading activeX");
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
alert("bottom load");
xhttp.open("GET",dname,false);
xhttp.send();
return xhttp.responseXML;
}
function displayResult()
{
alert("setting vars");
alert("displayResult called");
//xml=loadXMLDoc(responseXML2); //tried this and the line below, among others
xml=responseXML2;
alert("xmlDocLoaded");
xsl=loadXMLDoc("xslt-test.xsl");
alert("XSLloaded");
// code for IE
if (window.ActiveXObject)
{
alert("IE");
ex=xml.transformNode(xsl);
document.getElementById("ieiresponse").innerHTML=ex;
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
alert("notIE");
xsltProcessor=new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
resultDocument = xsltProcessor.transformToFragment(xml,document);
document.getElementById("ieiresponse").appendChild(resultDocument);
}
}
在上面的代碼我想有:
//xml=loadXMLDoc(responseXML2); //tried this and the line below, among others
xml=responseXML2;
,而不是一個文件名爲:
xsl=loadXMLDoc("example.xml");
當我通過代碼運行,它的工作原理,如果我給這個文件起了名字,但是當我使用這個變量的時候(它出現在警報中,所以被拉出來),它會停止上面的代碼(把變量放在xml文件中)
任何幫助將不勝感激!先謝謝你。
你有jQuery並做類似'if(window.XMLHttpRequest)'的事情嗎?爲什麼?! – Tomalak 2010-05-17 19:01:56
我使用jQuery來檢索表單發佈的XML響應。如果有更好的方法(我是XML新手),我非常開放! – Paul 2010-05-17 19:09:21
我正在查看更多的代碼,它看起來像responseXML2沒有被拉入新的功能。我試圖把現有的displayresult()代碼底部在這裏下: $( '#theForm')給ajaxForm(函數(responseXML2){ VAR myxml = responseXML2; 警報(responseXML2); 配售代碼在這裏 沒有運氣,現在它甚至沒有調用警報! – Paul 2010-05-17 19:10:47