2014-12-24 2 views
0

Нормальная форма Jquery запроса JSON бы через AjaxКак отправить форму и получить данные в JSON по jquery?

j.ajax({ 
    type: 'POST', 
    url: url, 
    async: true, 
    data: urlData, 
    timeout: 20000, 
    dataType: 'json', 
    success: function(json) { 

задачи к выше решения даже размещать метод еще пройти и URL. То, что я пытаюсь достичь, заключается в том, что после нажатия кнопки данные формы передаются через вызов JSON (так что ему не нужно будет отправлять страницу), а данные, возвращаемые с вызова, находятся в формате JSON.

Итак, как достичь цели?

+0

Ваш код действительно действительный, у вас есть проблема? –

+0

@Vsevolod Goloviznin Спасибо. Предположим, если на странице есть объект 20 , тогда я должен вручную поместить значение всех входов в объект 'urlData', есть способ использовать вызов JSON, но может использовать что-то вроде $ (« # form ») .submit(), чтобы избежать проблем, связанных с тем, чтобы каждое значение (особенно когда дело доходит до массивов) в URL-параметр? – Dreamer

+0

Вы выполните json-вызов внутри вашей '$ (" # form "). Submit()' и получите все данные, просто вызов '$ (" # form "). Serialize()' или '$ (" # form ") .serializeArray()' –

ответ

2

Добавить event.preventDefault(); в ваш обработчик события submit, чтобы предотвратить по умолчанию.

$("#yourForm").submit(function(event){ 
    event.preventDefault(); 
    //ajax call 
}); 
1

Вы должны остановить действие по умолчанию вашей кнопки отправки, если вы используете JQuery:

$("#myButton").click(function(e) { 
    e.preventDefault(); 
    // ... 

Если нет, return false; после Ajax вызова в вашем случае клик:

<input type="submit" onclick="doTheAjaxCall(); return false;"/>