Проблема Ajax с Jquery и ASP.NET

#javascript #jquery #asp.net #ajax #vb.net

#javascript #jquery #asp.net #ajax #vb.net

Вопрос:

Я много читал об этом на этом форуме, но я не могу заставить это работать.

Я хочу использовать функцию ajax на моем asp.net веб-приложение

Итак, вот Javascript на VerifMain.aspx

 $(document).ready(function () {

//menu()
$("#btnImprimer").click(function () {
    $.ajax({
        type: "POST",
            url: "/VerifMain.aspx/Lol",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                alert("Good"); 
            },
            error: function (msg) {
                alert(msg);
            }
        });
    });
});
  

И вот код сервера в VerifMain.aspx.vb

 Partial Public Class _Default
    Inherits Page
    <WebMethod()> _
    Public Shared Sub Lol()
        //TO DO
    End Sub
End Class
  

Итак, когда я пытаюсь вызвать этот метод, он переходит в функцию ошибки и выдает предупреждение «[object Объект]»

Я должен использовать jQuery, потому что там, где я работаю, не установлен Microsoft Ajax.

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

Спасибо!

Хорошего дня!!

РЕДАКТИРОВАТЬ: Привет всем, спасибо за ваше время!

Я исправил это, удалив класс the partial.

итак, теперь это всего лишь статический веб-метод в коде сервера, и он работает.

 <WebMethod()> _
Public Shared Sub Lol()
    //TO DO
End Sub
  

Честно говоря, я не понимаю, как это работает

но спасибо вам за ваши быстрые ответы.

Это лучший веб-сайт, теперь я проведу здесь немного свободного времени 😉

Комментарии:

1. вы можете опубликовать найденное вами решение в качестве ответа на свой вопрос и пометить его как принятый ответ ! 🙂

Ответ №1:

Попробуйте вызвать этот метод вместо этого, просто чтобы протестировать его еще раз:

 <WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
Public Shared Function GetDate() As String
    Return Date.Now.ToString()
End Function
  

Замените URL на этот:

 url: "/VerifMain.aspx/GetDate",
  

Ответ №2:

ASP.NET AJAX изменил JSON, возвращенный в версии 3.5. Вам необходимо получить доступ к d свойству, см. http://encosia.com/never-worry-about-asp-net-ajaxs-d-again. Я не знаю, в чем ваша ошибка, но вы увидите ее, если измените код на приведенный ниже:

 $(document).ready(function () {

//menu()
$("#btnImprimer").click(function () {
    $.ajax({
        type: "POST",
            url: "/VerifMain.aspx/Lol",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                alert("Good"); 
            },
            error: function (data) {
                alert(data.d);
            }
        });
    });
});
  

Ответ №3:

Просто изучите сообщение:

 error: function (msg) {
                var i,s="";
                for(i in msg) s  = (s?"n":"")   i   ": "   msg[i];
                alert(s);
            }