Как я могу передать больше параметров с помощью AJAX

#ajax

#ajax

Вопрос:

У меня есть следующее:

 $('#TopicDescription').change(function () {
            $.ajax({
                url: "/adminQuestions/GetSubTopics",
                data: $('#TopicDescription').val(),
                success: function (data) {
                    $('#SubTopicDescription').html(data);
                }
            });
        });
  

Это работает хорошо, но я хотел бы передать другой параметр. Кто-нибудь может объяснить, как я могу это сделать. Также в методе GetSubTopics будет ли на переданный параметр ссылаться слово «data» и существует ли связь между data: и .html (данными).

Извините, если мой вопрос сбивает с толку.

Беверли

Ответ №1:

передать объект в data:

 data: {
    foo : 10,
    bar : 42
}
  

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

1. хорошо, я думаю, что понимаю. Итак, когда я хочу получить доступ к информации, могу ли я сделать это следующим образом: общедоступная строка GetSubTopics(int foo, int bar)?

Ответ №2:

 $.ajax({
    url: "/adminQuestions/GetSubTopics",
    data: { v1: $('#element1').val(),
            v2: $('#element2').val(),
            v3: $('#element3').val()
        },
    success: function(msg) {
        // do something with msg
    }
});
  

Данные, которые будут отправлены на сервер. Это
преобразовано в строку запроса, если нет
уже есть строка. Это добавляется к
url для GET-запросов. Смотрите ProcessData
возможность предотвратить это автоматическое
обработка. Объект должен быть ключом / значением
пары. Если значение является массивом, jQuery
сериализует несколько значений с одинаковым
ключ, основанный на значении
традиционная настройка (описана ниже).

Я надеюсь, что это поможет.
Христо

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

1. Спасибо, что нашли время для дальнейшего объяснения мне.

2. @Beverly … извините? Я не знаю, как это очень хорошо объяснить. Я обновил свой ответ документацией с сайта jQuery.