Le code ci-dessous semble exécuter le service Web et renvoie des valeurs, mais ignore la clause where (renvoyant ainsi tous les éléments de la liste). C'est la forme la plus simple du problème que j'ai trouvé.GetListItems Webservice ignore mon filtre de requête
La liste TestQuery est une liste personnalisée simple sans champs définis par l'utilisateur. Quelqu'un peut-il voir pourquoi le filtre ne fonctionne pas?
<body>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var soapEnv = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'><soapenv:Body><GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'>";
soapEnv += "<listName>TestQuery</listName>";
soapEnv += "<Query><Where><Eq><FieldRef Name='Title'/><Value Type='Text'>One</Value></Eq></Where></Query>";
soapEnv += "<ViewFields><ViewFields><FieldRef Name='Title'/></ViewFields></ViewFields><RowLimit>1</RowLimit>";
soapEnv += "</GetListItems></soapenv:Body></soapenv:Envelope>";
$.ajax({
url: "_vti_bin/lists.asmx",
type: "POST",
dataType: "xml",
data: soapEnv,
complete: processResult,
contentType: "text/xml; charset=\"utf-8\""
});
});
function processResult(xData, status) {
$('#WSResponse').text(status);
$(xData.responseXML).find("z\\:row").each(function() {
var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>";
$("#tasksUL").append(liHtml);
});
//}
}
</script>
<ul id="tasksUL"/>
<div id="WSResponse"/>
</body>
Merci toujours tellement - j'ai essayé différentes options toute la journée! – stuckagain