Abhijit Parab Ответов: 1

Как вызвать веб-метод из 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 обычно являются статическими методами, это не будет работать, если он не будет сделан статическим в соответствии с моими знаниями, попробуйте добавить статическое ключевое слово в сигнатуры методов, надеюсь, это поможет

1 Ответов

Рейтинг:
0

Ehsan Sajjad

WebMethods обычно являются статическими методами, это не сработало бы, если бы он не был сделан статическим в соответствии с моими знаниями, попробуйте добавить статическое ключевое слово в сигнатуры методов, надеюсь, это поможет.

Для справки вы можете посмотреть на этот блогпост (вызов Webmethod с помощью jQuery Ajax)