JQuery 1.7.2. spservices Синтаксическая ошибка, нераспознанное выражение: [имя_узла =z: строка]
Получение синтаксической ошибки, нераспознанное выражение: [nodeName=z:row] в этом коде.
<script type="text/javascript" src="https://.../jquery.js"></script>
<script type="text/javascript" src="https://..//spservices.js"></script>
<script>
$(document).ready(function(){
var queryStringValues = $().SPServices.SPGetQueryString();
var t = queryStringValues["Title"];
var query = "<Query><Where><Eq><FieldRef Name='Title'/><Value Type='Text'>" + t + "</Value></Eq></Where></Query>";
var url = window.location;
$().SPServices({
operation: "GetListItems",
listName: "ApprovalCustom",
async: false,
CAMLQuery: query,
completefunc: function (xData, Status) {
$(xData.responseXML).find("[nodeName=z:row]").each(function(){
id = $(this).attr("ows_ID");
url = $().SPServices.SPGetCurrentSite() + "/Lists/ApprovalCustom/DispForm.aspx?ID=" + id;
window.location = url;
});
}
});
});
2 ответа
Вам нужно указать значение вашего атрибута: .find('[nodeName="z:row"]')
Всегда указывайте значения атрибутов.
И не используйте $()
для XML-данных. использование $.parseXML()
, http://api.jquery.com/jQuery.parseXML/
Если вы используете jquery 1.7 и выше, синтаксис больше не работает, см. Библиотеку jQuery для веб-служб SharePoint (SPServices) v0.7.0 Beta 1. Пожалуйста, используйте $(xData.responseXML).SPFilterNode("z:row"). Each(function() { }); вместо.