2014-02-12 45 views
0

我正在嘗試使用SP服務庫(http://spservices.codeplex.com/)確定用戶角色,但是我得到responseXML.xml不是對象錯誤。responseXML.xml不是對象

SPServices + JQuery都被正確引用。

代碼:

<script type="text/javascript"> 
$(document).ready(function() { 

$().SPServices({ 
operation: "GetRolesAndPermissionsForCurrentUser", 
async: false, 
completefunc: function(xData, Status) { 

    alert(xData.responseXML.xml); 
     var userPerm = $(xData.responseXML).find(" [nodeName=Permissions]").attr("Value"); 
    alert("userPerm = " + userPerm); 


} 
}); 

}); 
</script> 
+0

很難說。什麼是console.log(xData.responseXML)告訴你?也許這是一個數組。您可以嘗試xData.responseXML [0] .xml ... –

+0

@NicoO在Firefox中顯然代碼工作正常,但在IE 8.0.7中它會產生此錯誤。 –

回答

1

爲什麼要使用的responseXML的該屬性?如果您想要訪問原始XML標記,請改用xData的responseText屬性。

我假設你真正的目標與上面的功能(獲得許可)實際上是正常工作,是否正確?

responseXML是一個XML文檔對象,根據瀏覽器可能有不同的結構。

+0

作品罰款的Firefox,但userperm用戶在IE中返回未定義... –

+1

就像我說的:每個瀏覽器都有不同的XMLDocument對象結構... –

+0

保羅 - responseText的收益使用IE否認/_vti_bin/usergroup.asmx 但工作正常在FF –

0

您使用的是jQuery 1.9.1嗎?我認爲這是一個錯誤。 https://bugs.jquery.com/ticket/13388

Ajax響應對象屬性responseXML將是未定義的。而responseText包含原始XML響應。 引用更新的jQuery將正確填充responseXML。