Проблема Ajax с Jquery и ASP.NET - PullRequest
1 голос
/ 30 мая 2011

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

Я хочу использовать функцию 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

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

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

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

Спасибо!

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

EDIT: всем привет Спасибо за ваше время!

Я исправил это, удалив частичный класс.

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

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

Если честно, я не понимаю, как это работает

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

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

Ответы [ 3 ]

2 голосов
/ 30 мая 2011

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

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

Заменить URL следующим:

url: "/VerifMain.aspx/GetDate",
1 голос
/ 30 мая 2011

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);
            }
        });
    });
});
0 голосов
/ 30 мая 2011

Просто проверьте сообщение:

error: function (msg) {
                var i,s="";
                for(i in msg) s += (s?"\n":"") + i + ": " + msg[i];
                alert(s);
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...