Как вызвать веб-метод из ajax-метода
Я не могу вызвать webmthod из javascript с помощью ajax-вызова. Пожалуйста, проверьте код. Какую ошибку я совершил?
Пути к файлам:
C:\Users\Abhijit\Documents\Visual Studio 2013\WebSites\UpdatePanel\App_Code\DataService. cs
C:\Users\Abhijit\Documents\Visual Studio 2013\WebSites\UpdatePanel\Pages\Default. aspx
C:\Users\Abhijit\Documents\Visual Студия 2013\WebSites\UpdatePanel\Scripts\jquery-1.10.2.js
C:\Users\Abhijit\Documents\Visual Студия 2013\WebSites\UpdatePanel\Scripts\Test.js
Что я уже пробовал:
Умолчанию.aspx-файл
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script src="../Scripts/jquery-1.10.2.js"></script> <script src="../Scripts/Test.js"></script> </head> <body>
<form id="form1" runat="server">
<input id="btnTest" type="button" onclick="CallFunction()" /> </form> </body> </html>
-------------------------------------------------------------------------
Test.js
function CallFunction() { $.ajax({ type: "POST", url: "../DataService/GetData", contentType: "application/json; charset=utf-8", dataType: "json", success: function (response) { var names = response.d; alert(names); }, failure: function (response) { alert(response.d); } }); }
---------------------------------------------------------------------------------
DataService. cs
using System.Web; using System.Web.Script.Serialization; using System.Web.Services; /// <summary> /// Summary description for DataService /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] [System.Web.Script.Services.ScriptService] public class DataService : System.Web.Services.WebService { [WebMethod (EnableSession=true)] public string GetData() { Dictionary<string, string> name = new Dictionary<string, string>(); name.Add("1", "Sourav Kayal"); name.Add("2", "Ram mishra"); string myJsonString = (new JavaScriptSerializer()).Serialize(name); return myJsonString; } }
-------------------------------------------------------------------------------------
Afzaal Ahmad Zeeshan
Это работает? Какую ошибку вы получили?
Abhijit Parab
Это не сработало. Я не получил никакой ошибки. Когда я отлаживал $. ajax метод был вызван, но он не вызывал WebMethod. Ни успеха, ни провала.
Afzaal Ahmad Zeeshan
Используете ли вы правильные конечные точки?
Abhijit Parab
Это не служба WCF. Если вы видите мои упомянутые пути к файлам и код, я создал файл класса с атрибутом scriptservice. В том же файле класса я определил WebMethod. Я хочу позвонить, что веб-метод из JavaScript-файл, используя метод jQuery Аякс. Но это не называется
Ehsan Sajjad
WebMethods обычно являются статическими методами, это не будет работать, если он не будет сделан статическим в соответствии с моими знаниями, попробуйте добавить статическое ключевое слово в сигнатуры методов, надеюсь, это поможет