responseXML.xml不是对象

时间:2014-02-12 09:34:41

标签: jquery xml web-services spservices

我正在尝试使用SP服务库(http://spservices.codeplex.com/)确定用户角色,但是我得到的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>

2 个答案:

答案 0 :(得分:1)

为什么尝试使用responseXML的属性?如果要访问原始XML标记,请使用xData的responseText属性。

我认为你使用上述功能的真正目标(获得许可)实际上是正常的,对吗?

responseXML是一个XML Document对象,根据浏览器的不同,可能有不同的结构。

答案 1 :(得分:0)

您使用的是jQuery 1.9.1吗?我是那种情况,这是一个错误。 https://bugs.jquery.com/ticket/13388

Ajax响应对象属性responseXML将是未定义的。而responseText包含原始XML响应。 引用较新的jQuery将正确填充responseXML。