Rahul Newara Ответов: 2

Я пытаюсь вызвать веб-метод веб-страницы ASP.NET с помощью AJAX. Возникает 500 внутренних ошибок сервера.


Дорогой Господин/Mam,

Я пытаюсь вызвать веб-метод веб-страницы ASP.NET с помощью AJAX. происходит 500 Внутренняя ошибка сервера и метод не вызывается.
Мой код таков :
-------------
На странице ASPX
-------------

функция GetData(ID) {
$.Аякс({
url: '../ITS/Reports.aspx/GetReport',
метод: "пост",
contentType: 'application/json; charset=utf-8',
сведения: {идентификатор: идентификатор},
тип данных: 'json',
асинхронные: правда,
кэш: false,
успех: функция (данные) {
}
});
}
-----------------------
На C# Reports.aspx.cs
----------------------

[System.Web.Services.Атрибутом webmethod]
public bool GetReport(int ID)
{
Глобэл ГБЛ = новый Глобэл();

DataTable Dt = gbl.GetData(ID);

вернуть true;
}

Пожалуйста, помогите мне, в чем ошибка в моем коде.
Спасибо...

Что я уже пробовал:

Пытаюсь вызвать веб-метод веб-страницы ASP.NET с помощью AJAX.

Karthik_Mahalingam

проверить это

* убедитесь, что url-адрес доступен
* stringify параметр данных
* измените метод на статический

2 Ответов

Рейтинг:
19

Karthik_Mahalingam

обратитесь к этому коду, проверьте встроенные комментарии

[System.Web.Services.WebMethod]
      public static bool GetReport(int ID)   // make it as static
      {

          // Your code

          return true;
      }


function GetData(id) {
           var ID = parseInt(id);  // make sure you are passing the integer value
           var obj = { ID: ID };
           var param = JSON.stringify(obj);  // stringify the parameter

           $.ajax({
               url: '/ITS/Reports.aspx/GetReport', // remove the ..
               method: 'post',
               contentType: 'application/json; charset=utf-8',
               data:  param,
               dataType: 'json',
               async: true,
               cache: false,
               success: function (data) {
                   alert(data.d); // true
               },
               error: function (xhr, status, error) {
                   alert(xhr.responseText);  // to see the error message
               }
           });
       }

       GetData(1);


Rahul Newara

Благодарю Вас Сэр
Это работает...

Karthik_Mahalingam

добро пожаловать

Рейтинг:
1

Dave Kreskowiak

500 ошибок означают, что код на сервере по какой-то причине разбился или вышел из строя.

Это может быть связано с тем, что вы отправили параметры, которых он не ожидал, отправили их в формате, которого он не ожидал, значения вне диапазона, или код на сервере плохо написан и не проверяет входные параметры перед попыткой их обработки, или какая-то комбинация из вышеперечисленных.