Дополнительно
Как передать параметры в $ ajax POST?
Я следовал учебнику, как указано в ссылке this. В приведенном ниже коде по какой-то причине данные не добавляются к URL в качестве параметров, но если я устанавливаю их непосредственно к URL, используя /?field1 = "hello"
это работает.
$.ajax({
url: 'superman',
type: 'POST',
data: { field1: "hello", field2 : "hello2"} ,
contentType: 'application/json; charset=utf-8',
success: function (response) {
alert(response.status);
},
error: function () {
alert("error");
}
});
130
9
Я бы порекомендовал вам использовать синтаксис jQuery
$ .post
или$.get
для простых случаев:Если вам нужно поймать случаи сбоя, просто сделайте это:
Кроме того, если вы всегда отправляете строку JSON, вы можете использовать $ .getJSON или $ .post с еще одним параметром в самом конце.
Попробуйте использовать метод GET
Вы не можете видеть параметры в URL с методом POST.
Редактировать:
Jquery.ajax не кодирует данные POST для вас автоматически так, как это делается для данных GET. Jquery ожидает, что ваши данные будут предварительно сформированы для добавления в тело запроса, которое будет отправлено непосредственно через провод.
Решение состоит в том, чтобы использовать функцию jQuery.param для создания строки запроса, которую ожидают большинство сценариев, обрабатывающих запросы POST.
В этом случае метод
param
форматирует данные для:Документация Jquery.ajax говорит о том, что существует флаг под названием
processData
, который контролирует, выполняется ли эта кодировка автоматически или нет. В документации говорится, что по умолчанию используется «true», но это не то поведение, которое я наблюдаю при использовании «POST».В POST-запросе параметры отправляются в теле запроса, поэтому вы не видите их в URL-адресе
Если хочешь их увидеть, меняйся
к
Обратите внимание, что в браузерах есть инструменты разработки, которые позволяют вам видеть полные запросы, которые выдает ваш код. В Chrome это на панели «Сеть».
type: 'POST'
, добавит параметры к телу запроса , который не виден в URL , аtype: 'GET'
, добавляет параметры по URL, который виден .Большинство популярных веб-браузеров содержат сетевые панели, которые отображают полный запрос .
На сетевой панели выберите XHR , чтобы увидеть запросы .
Это также можно сделать с помощью этого.
Вы можете сделать это, используя $ .ajax или $ .post
Использование $ .ajax:
Использование $ .post:
Ваш код был правильным, за исключением того, что вы не передаете ключи JSON в качестве строк.
Вокруг него должны быть двойные или одинарные кавычки
Для отправки параметров в url в методе
POST
Вы можете просто добавить его в url следующим образом: