#javascript #jquery #post #hash
#javascript #jquery #Публикация #хэш
Вопрос:
$.ajax({
url: '/create_lead',
data: {
name: $('#lead_gen_name').val(),
lead_gen[email]: $('#lead_gen_email').val(),
},
type: 'POST',
dataType: 'json',
success: function(data) {
}
});
Я хотел бы использовать метод jQuery Post для публикации хэша информации. Я бы хотел, чтобы оно публиковалось в этом формате lead_gen [email], lead_gen [адрес] и так далее…
Как отформатировать метод Post для этого. Приведенный выше код завершается ошибкой синтаксиса.
Комментарии:
1. У вас также есть висячая запятая в конце этой строки lead_gen.
Ответ №1:
Предполагая, что ваш сервер может справиться с этим, вы можете использовать вложенные объекты в своем вызове:
data: {
name: $('#lead_gen_name').val(),
lead_gen: { email: $('#lead_gen_email').val(), address: "1234 W Street" }
}
Ответ №2:
Преобразуйте его в JSON перед публикацией. То есть поместите все данные в объект javascript, выполните вызов JSON.stringify()
, затем поместите результирующую строку в свой data
раздел вызова ajax.
Ответ №3:
Мне кажется, что это должно сработать, но из-за того факта, что lead_gen[email protected]: не будет работать как ключ, как у вас здесь. Заключите ее в кавычки.
$.ajax({
url: '/create_lead',
data: {
name: $('#lead_gen_name').val(),
'lead_gen[email]': $('#lead_gen_email').val(),
},
type: 'POST',
dataType: 'json',
success: function(data) { }
});
Ответ №4:
Возможно, вы сможете использовать jQuery.serialize, чтобы делать то, что вы хотите. http://api.jquery.com/serialize /
data: $('#lead_gen_form').serialize(),