responseXML.xml не является объектом
Я пытаюсь определить роль пользователя с помощью библиотеки служб 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 ответа
Почему пытаются использовать это свойство responseXML? Если вы хотите получить доступ к необработанной разметке XML, используйте вместо этого свойство responseText из xData.
Я предполагаю, что ваша реальная цель с помощью функции выше (чтобы получить разрешение) действительно работает, верно?
responseXML - это объект XML-документа, который может иметь различную структуру в зависимости от браузера.
Вы используете JQuery 1.9.1? В этом случае это ошибка. https://bugs.jquery.com/ticket/13388
Свойство объекта ответа Ajax responseXML будет неопределенным. В то время как responseText содержит необработанный XML-ответ. Ссылка на более новый jQuery будет правильно заполнять responseXML.