JQuery Callback nevolal

hlasů
1

Mám následující JS / JQuery úryvek:

 function add_item() {
   var item = $(input:text[name='new_item']).val();
   $.post({{ url_for('add_item') }},
       {'item' : item},
       function(data) {
         alert(':}');
       });
 }

Provádí jednoduchou žádost o AJAX do baňky s webovým serverem a zobrazí upozornění box na úspěch (údaje vždy vrátí JSON fragment). Žádost o AJAX přidá pole do databáze SQLite a výnosy. Na mém dev box tento požadavek dokončí velmi rychle pomocí asynchronních požadavků. Nicméně, na jiném serveru tento požadavek trvá několik sekund (méně než výchozí časový limit, i když) pomocí asynchronních požadavků.

Problém : Když je požadavek trvá dlouhou dobu na dokončení pomocí asynchronních požadavků, zpětné volání nikdy nazývá. Když jsem se změnit nastavení AJAX být synchronní, zpětné volání se vždy nazývá.

Poděkovat!

Položena 08/07/2011 v 18:54
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

Chtěl bych zkusit $.ajax()funkci nad post jeden. Zdá se, že byly více zachovalost - 1.6.2 Rovněž se zdá, že některé problémy, a tak se snaží 1.6.1, pokud potřebujete: http://api.jquery.com/jQuery.ajax/

Odpovězeno 08/07/2011 v 18:59
zdroj uživatelem

hlasů
0

Použijte metodu chyb zjistit, jaké chyby jste se dostal.

function add_item() {
   var item = $("input:text[name='new_item']").val();
   $.post("{{ url_for('add_item') }}",
       {'item' : item},
       function(data) {
         alert(':}');
       }).error(function(jqXHR, textStatus, errorThrown) { alert("error"); });
 }
Odpovězeno 08/07/2011 v 21:31
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more