Невозможно вызвать функцию на стороне сервера, используя jquery

0

У меня есть следующий код в jquery

            $('#btnSubmit').click(function () {
            $.ajax({
                type: "POST",
                url: "Appointment.aspx/saveAppointment",
                data: "{firstname:'" + firstname + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {
                    alert(1);
                    // Do something interesting here.
                }
            });
        });

Я вызываю эту функцию в vb.net

<WebMethod()> _
Public Shared Function saveAppointment(ByVal firstname As String) As Boolean

    Dim checkval = globalclass.firstname
    Try

    Catch ex As Exception
        Throw ex
    End Try
    Return True
End Function

Конечный класс

Кажется, что он работает без каких-либо параметров. Если параметры предоставляются, вызова нет. Я также упомянул об этом, но, похоже, работает

Вызов метода на стороне сервера ASP.NET через jQuery

Благодарю!

Теги:
web-services

1 ответ

0
Лучший ответ

https://api.jquery.com/jQuery.ajax/

для публикации данных как объекта:

data Тип: PlainObject или String Данные для отправки на сервер. Он преобразуется в строку запроса, если не является уже строкой. Он добавлен к URL-адресу для запросов GET. См. Параметр processData для предотвращения этой автоматической обработки. Объектом должны быть пары "ключ/значение". Если значением является массив, jQuery сериализует несколько значений с одним и тем же ключом на основе значения традиционной настройки (описано ниже).

data: {firstname: firstname} 

или

data: {firstname: firstname}  // in case you want to assign "firstname" as string value        to the data you are posting.

с учетом firstname имени с правой стороны является определенной переменной в вашем javascript, а firstname на левой стороне - это имя, которое вы будете использовать в другом скрипте (PHP, vb.net... и т.д.).

  • 0
    Я попробовал это, но даже это не сработало. Я больше всего использовал вышеуказанный метод, когда работал. Использовал его, присваивал ему сущности в отдельном файле. Кажется, работает следующий код - data: '{firstname:' + '"' + firstname + '"' + '}',
  • 0
    @ user2165764 У меня нет опыта работы с vb.net, но, похоже, проблема в вашем скрипте vb, даже если он работает, синтаксис данных ajax недопустим. Если вы не публикуете всю строку, например, если firstname = "xxx", то вы должны публиковать: "{firstname: 'xxx'}"
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню