Отправьте несколько параметров на Контроллер MVC с помощью jQuery.post

Следующая документация гласит, что вы можете запросить PR, только если кто-то имеет доступ только для чтения. Это подразумевает, что они должны прекратить отправлять вам электронные письма напрямую и использовать функцию, которая автоматически отправляет запрос электронной почты, как только они назначены.

https://help.github.com/ru/articles/requesting-a-pull-request-review

Владельцы и соавторы репозитория могут запросить запрос на извлечение обзор от любого, кто имеет доступ для чтения к хранилищу. Члены организации также могут запросить проверку запросов на извлечение от групп с доступом для чтения к хранилищу. Запрошенный рецензент или группа получат уведомление о том, что вы попросили их рассмотреть запрос на извлечение.

BLOCKQUOTE>

6
задан tereško 18 October 2013 в 00:56
поделиться

4 ответа

Спасибо всем за ваш вклад в этот вопрос.

На этом этапе мы отошли от использования jquery для отправки сложных типов в контроллеры. Вместо этого мы используем для этого фреймворк ms ajax. Сообщение ms ajax прекрасно связывает сложные типы автоматически из коробки.

Итак, наше решение теперь использует сочетание jquery и ms ajax framework.

Ясень

3
ответ дан 16 December 2019 в 21:46
поделиться

Обратите внимание, что «сериализация по умолчанию», которую выполняет здесь jQuery, не будет работать независимо от того, что делает ваш контроллер. jQuery не «пересекает» карту параметров ниже первого уровня, поэтому пример в вопросе, вероятно, генерирует эти данные поста:

address=[object]&geoLocation=[object]

Другой, рабочий пример не содержит никаких подобъектов, поэтому он переводится напрямую Примерно так:

Building=value&UnitNumber=value&...&MonthsAtAddress=value

Самое простое решение - сделать карту параметров плоской, каждый ключ должен иметь префикс «Address». или «Геолокация.», в зависимости.

3
ответ дан 16 December 2019 в 21:46
поделиться

Ваш код требует, чтобы способ, которым jquery сериализует объект, был совместим с механизмом связывания модели MVC по умолчанию, что я считаю маловероятным ,

Если вы можете построить свой объект javascript так, чтобы он сериализовался как плоский объект с точечной нотацией (JsonAddress.Building), который работал бы, или вы можете позволить jquery выполнить сериализацию по умолчанию, а затем создать пользовательский механизм связывания модели для десериализации в типы параметров действия.

2
ответ дан 16 December 2019 в 21:46
поделиться

У меня была та же проблема, и я ничего не мог заставить работать. Также кто-то поднял это как ошибку с jquery, и они закрыли это как не ошибку.

Я нашел несколько решений, которые частично отвечают на вопрос. И ответ включает в себя следующее.

1) Клиентская сторона: нам нужно будет привязать все объекты, которые вам нужно отправить. Это может быть обычный объект или массив. Он работает на обоих.

2) Клиентская сторона: вы отправляете данные, как в первом посте. Как бы вы возражали по объекту.

Совет: когда вы отправляете параметризованные объекты, jquery кодирует данные, отправленные на сервер.

Далее следуют реализации на стороне сервера. 1) Класс десериализатора: который примет входную строку и вернет ее в объект / список <> / IList <>, что вы когда-либо определили как тип данных параметра функции контроллера. Для вышеуказанного вам потребуется реализовать ActionFilterAttribute.

2) Наконец, добавьте атрибут к функции контроллера, чтобы он использовал класс десериализатора для получения параметров.

Поскольку это довольно много кода, дайте мне знать, если вам нужны подробности или вы решили проблему.

Дипак Чавла

0
ответ дан 16 December 2019 в 21:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: