Jquery $ .post метод - PullRequest
       2

Jquery $ .post метод

3 голосов
/ 06 октября 2011

Привет, у меня есть такой метод:

 [AcceptVerbs(HttpVerbs.Post)]
        public JsonResult GetPayeesJson(long id)
        {
             ///TODO:
        }

Прямо сейчас он вызывается из функции Javascript и работает хорошо:

$.post("/Payee/GetPayeesJson/" + payerData.Id, null, function (data) {
               fillPayeeCache(data, payerData.Id);
               fillPayeeSelect(payeeCache[payerData.Id]);
            }, "json");

В дополнение к идентификаторуэто передается методу GetPayeesJson(long id) Я также хочу передать строку, которая содержит имя формы.Так что в основном я хочу сделать пост-вызов такого метода:

        [AcceptVerbs(HttpVerbs.Post)]
        public JsonResult GetPayeesJson(long id, string formName)
        {
           //TODO:
        }

Как я могу это сделать.Заранее спасибо!

Ответы [ 4 ]

1 голос
/ 06 октября 2011

Пример: запрос страницы test.php и отправка некоторых дополнительных данных (при этом игнорируя возвращаемые результаты).

$.post("test.php", { name: "John", time: "2pm" } );

Источник: http://api.jquery.com/jQuery.post/

0 голосов
/ 06 октября 2011

Вам необходимо передать эту информацию как часть отправленного data

так для вашего конкретного примера

$.post("/Payee/GetPayeesJson/" + payerData.Id, 
       {'formName':'value to be passed here'}, 
       function (data) {
               fillPayeeCache(data, payerData.Id);
               fillPayeeSelect(payeeCache[payerData.Id]);
            }, "json");

должен делать то, что тебе нужно ..

0 голосов
/ 06 октября 2011

Как насчет этого?

$.ajax({
    url: 'example.php',
    dataType: 'json',
    type: 'POST',
    data:  { 
        formName: 'formName' 
    },
    success: function (response) {

    },
    error: function(response, data) {
      alert("Oops... Looks like we're having some difficulties."); 
   }         
});
0 голосов
/ 06 октября 2011

Вероятно, проще всего просто добавить formName в качестве переменной строки запроса к URL в вызове $ .post. (т.е. добавьте «? formName = what» к вашему URL). Вы также можете разместить его как переменную формы с именем formName.

Это поведение переопределено, но по умолчанию вы можете использовать строку с соответствующим именем или переменную формы.

e: offtopic, но вы также должны иметь возможность просто использовать [HttpPost] в качестве краткой формы вашего атрибута в методе GetPayeesJson.

e2: больше специфичности ... добавление в виде строки запроса -> "/Payee/GetPayeesJson/" + payerData.Id + "?formName=whateverYourFormIsNamed"

добавление в виде формы var -> см. Ответ тоста

Они оба позволят вам использовать синтаксис для указанного вами действия контроллера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...