J'essaie d'utiliser jQuery pour obtenir des données à partir d'un service Web ASP.NET (SharePoint Server 2007 lists.asmx), mais tout appel à un service Web aidera vraiment dans une première étape dans cette direction.
Réponses
Trop de publicités?J'utilise cette méthode comme un wrapper pour pouvoir envoyer des paramètres. L'utilisation des variables dans la partie supérieure de la méthode permet également de la minimiser à un taux plus élevé et permet une certaine réutilisation du code si vous effectuez plusieurs appels similaires.
function InfoByDate(sDate, eDate){
var divToBeWorkedOn = "#AjaxPlaceHolder";
var webMethod = "http://MyWebService/Web.asmx/GetInfoByDates";
var parameters = "{'sDate':'" + sDate + "','eDate':'" + eDate + "'}";
$.ajax({
type: "POST",
url: webMethod,
data: parameters,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$(divToBeWorkedOn).html(msg.d);
},
error: function(e){
$(divToBeWorkedOn).html("Unavailable");
}
});
}
J'espère que cela pourra aider.
Veuillez noter que cela nécessite que le framework 3.5 expose les méthodes Web JSON pouvant être utilisées de cette manière.
Voici un exemple pour appeler votre service Web à l'aide de jQuery.get:
$.get("http://domain.com/webservice.asmx", { name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
});
Dans l'exemple ci-dessus, nous appelons "webservice.asmx" en transmettant deux paramètres: nom et heure. Ensuite, obtenir la sortie de service dans la fonction de rappel.
Je ne connais pas ce service Web SharePoint spécifique, mais vous pouvez décorer une méthode de page ou un service Web avec <WebMethod()>
(en vb.net) pour vous assurer qu'il se sérialise au format JSON. Vous pouvez probablement envelopper la méthode utilisée par webservice.asmx en interne, dans votre propre service Web.
Dave Ward a une bonne solution à ce sujet.
J'ai ici un bon exemple d'utilisation de l'appel JQuery AJAX avec les services Web asmx ... http://sonerdy.com/JQuery-AJAX-and-ASMX
Il existe une ligne de code à dégager pour lui permettre de renvoyer JSON.