2012-03-18 43 views
1

我一直試圖序列化一個XML(jQuery對象)來將字符串POST到服務器。要使用XMLSerializer字符串的jQuery XML:FF引發安全錯誤

<script> 
$(function(){ 
    myxml = "<tag>just a sample here</tag>"; 
    myxml = $(myxml); 
    if (window.ActiveXObject){ 
     var xmlString = myxml.xml; 
    } else { 
    var oSerializer = new XMLSerializer(); 
    var xmlString = oSerializer.serializeToString(myxml); 
    } 
    console.log(xmlString); 
} 
</script> 

此代碼不起作用。 FF會引發安全錯誤(沒有檢查其他瀏覽器,但FF已經足夠了,不會運行這個腳本)。

+0

你的代碼是無效的。 '$('沒有用'''正確關閉)。 – 2012-03-18 12:17:31

+0

是的,抱歉,錯字,謝謝! – 2012-03-18 12:21:10

+0

發現問題的根源。 問題是XMLSerializer不能吃jQuery,它只能用真正的XML對象進行提供。與myxml餵養它[0],而不是myxml幫助: 2012-03-18 12:21:55

回答

1

只是爲了總結經驗。

添加[0]到jQuery選擇有助於解決XML類型對象(見上面我的意見):

<script> 
$(function(){ 
    myxml = "<tag>just a sample here</tag>"; 
    myxml = $(myxml); 
    if (window.ActiveXObject){ 
    var xmlString = myxml.xml; 
    } else { 
    var oSerializer = new XMLSerializer(); 
    var xmlString = oSerializer.serializeToString(myxml[0]); // <-- HERE! 
    } 
    console.log(xmlString); 
}) 
</script>