2012-06-25 3 views
0

Я делаю попытку приложения RESTful, но моя функция $ .ajax останавливается в середине выполнения.

function addEntry() 
{ 
$.ajax({ 
    type: 'POST', 
    contentType: 'application/json', 
    url: passAPI, 
    dataType: "json", 
    data: dataToJSON(), 
    success: hideform 
}) 
} 

function hideform() 
{ 
    $('#form').hide(); 
} 

Данные помещаются правильно в базу данных, но форма не скрывается. Кто-нибудь знает, почему это происходит?

+5

настроить обработчик ошибок Ajax и посмотреть, будет ли он вызван. Посмотрите на ответ с Fiddler/Charles/Firebug. Я бы предположил, что возвращается недействительный JSON. – epascarello

+0

Все кажется прекрасным, может быть, ваша форма не распознается, является '$ ('# form')' является правильным идентификатором вашей формы? –

+2

Я бы рекомендовал вам создать обратный вызов 'error', чтобы проверить, не возвращается ли какая-либо ошибка. – MilkyWayJoe

ответ

1

Я попытался создать заявление об ошибке, что ничего не вернуть. Когда я попытался снова, это сработало.

Я думаю, что исправлена ​​некоторая немая синтаксическая ошибка.

Извините!

+0

Если кто-то сталкивается с той же проблемой: решение должно было добавить «async: true», даже если оно должно быть включено по умолчанию. – Lukmo

0

Данные ошибки не принимаются. Это работает? Я добавил function()

function addEntry() 
{ 
    $.ajax({ 
     type: 'POST', 
     contentType: 'application/json', 
     url: passAPI, 
     dataType: "json", 
     data: dataToJSON(), 
     success: function() { 
      hideform(); 
     } 
    }) 
} 

function hideform() 
{ 
    $('#form').hide(); 
} 
+6

Не имеет значения; в OP функция передается правильно. – Pointy

+0

Я не думаю, что это что-то меняет, так как 'hideform' также является функцией, но ни одна из этих функций не имеет параметра' data'. Это может быть проблемой? – MilkyWayJoe

+0

А, я думал, это может быть что-то простое. Спасибо за информацию. – xivo

0

Предполагая, что вы не используете event.preventDefault(), если это так, вызов ajax будет отключен, поскольку страница перезагружается, чтобы отправить форму, используя обработчики по умолчанию.

, если у вас уже есть

event.preventDefault(); 

затем игнорировать меня га.

+0

Вместо этого я использовал кнопку и подключался к клику(), поэтому нет необходимости в предотвращении дефолта! – Lukmo

Смежные вопросы