Когда мы используем в 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 гарантирует, что все сделано правильно.

Другие вопросы по тегам