Когда мы используем в Javascript объект в AJAX
Я использую ASPI Core Web API, и я хотел бы понять, что означает отправка объекта JavaScript без serilaize его по запросу jQuery ajax?
Например:
var data = {firstName: '123', lasName: '' }
$.ajax({
type: "POST",
url: url,
data: data,
success: callback
});
Когда я предпочел бы отправить? объект JavaScript
Отражается ли это типом метода? (POST/GET)
Я искал по сети, и для моего понимания мы отправляем объект Javascript методом GET, потому что jQuery ajax превратит его в значение пары ключей. Это единственная причина?
2 ответа
JQuery сериализует его для вас. По умолчанию он отправит его как x-www-form-urlencoded
,
Как уже упоминалось в другом ответе, jQuery
автоматически преобразует объект в строку параметров в кодировке URL.
Одним из основных преимуществ этого является то, что он будет правильно кодировать значения. Ряд символов требует специальной кодировки, и если вы просто объединяете переменные, такие как:
var data = "firstname=" + firstname + "&lastname=" + lastname;
у вас могут возникнуть проблемы, если имена содержат какие-либо из этих символов. Правильный способ написать это:
var data = "firstname=" + encodeURIComponent(firstname( + "&lastname=" + encodeURIComponent(lastname);
Использование объекта избавляет вас от необходимости беспокоиться об этом, jQuery гарантирует, что все сделано правильно.