Как опубликовать большие данные с помощью вызова AJAX (jQuery)? - PullRequest
5 голосов
/ 15 января 2009

Я пытаюсь использовать функциональность jQuery ajax для обновления данных из веб-формы (ASP.NET MVC). Часть данных поступает из текстовой области, и хотя это не очень большой объем данных, он может легко превышать 2 КБ.

Кажется, что jQuery ajax помещает все данные в строку запроса, что приводит к тому, что IIS отклоняет URL-адрес, что приводит к прерыванию вызова. Можно ли добавить данные в запрос POST, используя модель ajax в jQuery, вместо того, чтобы иметь все в строке запроса?

Ответы [ 3 ]

8 голосов
/ 15 января 2009

использовать $. Post

* 1005 например *

$.post(someUrl, { textData: $('#someInput').val() } );

$. Post - это просто оболочка для $ .ajax.

$.ajax({ type :"post", 
         data : { textData: $('#someInput').val() },
         url : someUrl
      });
6 голосов
/ 15 января 2009

Да; согласно документации jQuery , вы можете использовать jQuery.post для POST-данных.

Если вы хотите опубликовать существующую форму, используйте:

var form = $("#myform"); // or whatever
$.post(form.get()[0].action, form.serialize(), function(data) {
    // data received
}, "xml");
0 голосов
/ 18 апреля 2013

Вы можете использовать FormData:

var formData = new FormData();
formData.append('filename', filename);
formData.append('data', data);
$.ajax({
    url: "FileUploadServlet",
    type: "POST",
    data: formData,
    cache: false,
    contentType: false,
    processData: false});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...