venerdì 22 luglio 2011

How To: $.ajax WebServices / WebMethod

Vi è mai capitato di implementarne uno e scoprire che non va ?? Se è così vi siete dimenticati qualcosa la domanda è CHE COSA!

Primo punto
visual studio 2010
.Net 4.0
web application
jquery 1.6.1


A) accertatevi di aver messo questo nel vostro web config ...

<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>


Perchè queste poche righe non sono di default, e potrebbe anche essere una bella domanda.

b) accetatevi di aver incluso nella pagina lo script di jquery

<script src="/Scripts/jquery-1.6.1.min.js" type="text/jscript"></script>


Anche perchè a volte capita di dimenticarselo...

c) Se il metodo si trova in un web services ricordate di mettere Tutto il percorso
nella chiamata

$.ajax({
type: "POST",
url: "/Pages/Amici/Amici_HobbiesDataFeeder.asmx/InsertHobbies",
data: "idHobby=" + valueOf + "&idAmico=2",
asynch: false,
cache: false
});


Attenti quindi al jSon su data e di eludere la cache...

d) verificate che nel web services ci siano gli attributi corretti.

[WebService]    
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class Amici_HobbiesDataFeeder : System.Web.Services.WebService
{

[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public void InsertHobbies(int idHobby, int idAmico)
{
}
}

Nessun commento: