asp.net jquery ajax post - PullRequest
       7

asp.net jquery ajax post

1 голос
/ 07 ноября 2010

Я пытаюсь вызвать метод asp.net, используя jquery / ajax, нажав кнопку в модальном диалоговом окне. Но все, что я, кажется, получаю, и предупреждает, говоря «ошибка». Я видел много подобных примеров для этого онлайн, но я не могу заставить его работать. Страница / метод, который я вызываю (newcall.aspx / savenote), является той же страницей, что и все jquery / ajax и т. Д.

У кого-нибудь есть идеи?

Спасибо

        var dlg = jQuery("#dialog2").dialog({
            bgiframe: false,
            autoOpen: true,
            height: 410,
            width: 800,
            modal: true,
            show: 'Transfer',
            hide: 'Transfer',
            draggable: true,
            resizable: true,
            buttons: {
                "Cancel": function() {
                    $(this).dialog("close");
                },
                "Save": function() {
                    var txtnote = document.getElementById("<%=txtNote.ClientID %>").value;

                    $.ajax({
                        type: "POST",
                        url: "newcall.aspx/savenote",
                        data: txtnote,
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",                            
                        success: function(msg) {
                            alert(msg);
                        },        
                        error: function(XMLHttpRequest, textStatus, errorThrown) {
                            alert(textStatus);
                        }
                    });

                    $(this).dialog("close");
                }
            }
        }

        );

Метод кода :( В данный момент я просто возвращаю "ok")

Public Function savenote() As String
    Return "ok"
End Function

1 Ответ

1 голос
/ 08 ноября 2010

Вам необходимо добавить атрибут WebMethod, объявить метод страницы как Shared и сопоставить отправляемые данные с подписью метода.Вот как вы должны изменить свой метод на стороне сервера:

<WebMethod()>_
Public Shared Function savenote() As String
  Return "ok"
End Function

Вы можете избежать изменения параметра данных, но, вероятно, нет, поскольку это недопустимый JSON.Попробуйте изменить параметр данных на {}.Когда вы будете готовы начать передачу txtnote в свой метод на стороне сервера, вам нужно передать это как {txtnote: 'Your note string here'}.

...