L'obtention de données de liste de site SharePoint 2010 à l'aide de Jquery
Je suis en train d'obtenir la liste des données à partir d'un site sharepoint à l'aide de JQuery, mais ont n'a rien retourné, pas d'erreurs dans firebug soit. Aucune idée de ce qui est mal?
<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/'> \
<listName>Action Items</listName> \
<viewFields> \
<ViewFields> \
<FieldRef Name='Title' /> \
</ViewFields> \
</viewFields> \
</GetListItems> \
</soapenv:Body> \
</soapenv:Envelope>";
$.ajax({
url: "http://my_site/_vti_bin/lists.asmx",
type: "POST",
dataType: "xml",
data: soapEnv,
complete: processResult,
contentType: "text/xml; charset=\"utf-8\""
});
});
function processResult(xData, status) {
$(xData.responseXML).find("z\\:row").each(function() {
console.log("aaaa");
var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>";
$("#tasksUL").append(liHtml);
});
}
- pouvez-vous voir la demande dans l'onglet réseau de firebug? si oui est-il de retour à un état 200? Est-ce la page sur le même domaine que la sp?
Vous devez vous connecter pour publier un commentaire.
Juste après votre ligne
ajouter une alerte comme ceci:
Qui va vous montrer ce qui est de l'appel à la GetListItems.
aussi, vous devez modifier cette ligne:
à ceci:
qui est plus fiable dans les navigateurs. (Voir mon billet de blog: http://sympmarc.com/2009/11/08/sharepoints-web-services-jquery-and-the-zrow-namespace-in-safari-and-chrome/)
De Rob Windsor mentionne dans sa réponse, j'ai beaucoup de Services Web SharePoint enveloppé avec jQuery pour les rendre plus faciles à utiliser, à mon SPServices bibliothèque jQuery. Je vous suggère de l'essayer, tant que vous n'aurez pas à faire autant de travail.
Je suggère fortement que vous utilisez le modèle objet client au lieu de les Web services. Une fonctionnalité beaucoup plus riche et beaucoup, beaucoup plus facile à utiliser.
Le Modèle Objet Client et jQuery
Si vous voulez vraiment utiliser les services Web, alors je vous suggère de vérifier les SPServices projet.
Vous devez gérer l'ajax
success
événement, de ne pas l'événement complete. L'événement n'a pas que de la signature.http://api.jquery.com/jQuery.ajax/
complète(jqXHR, textStatus)
succès(data, textStatus, jqXHR)
Vous avez peut-être de même origine violation de la politique.
Vérifier que l'url actuelle où s'exécute le script, commence avec
http://my_site/
Espère que cette aide. Cheers
Mettre le
processResult
fonction au sein de$(documnet).ready
et vérifier