2011-10-21 30 views
3

これは私の頭を傷つけています。クリックすると警告が表示されます。data.msg。ただし、2度目のajaxは何もしません。 "まだ発砲していますので、イベントのクリックに問題はないと思います。私のAjaxに何が間違っていますか?シリアライズのために?JQuery AJAXは2回目に火災が発生しません

   $('#inv-btn-submit').live('click',function(e) { 

        $.ajax({ 
         type : 'POST', 
         url : '<?= base_url();?>main/insertInvoice', 
         dataType : 'json', 
         data: {product_list:$('.namabarang').serializeArray(), 
          qty_list : $('.qty').serializeArray(), 
          cost_list : $('.cost').serializeArray(), 
          customer_meta:$('#customer input, textarea').serializeArray() 
         }, 

         success : function(data){ 
          alert(data.msg); 


         }, 
         error : function(XMLHttpRequest, textStatus, errorThrown) { 
          alert('There was an error. '); 
         } 
        });//end of ajax 
        alert("end here"); 
        return false; 

       });// end of button click 
+0

xhrリクエストがChromeの開発ツールのようなブラウザツールを使用して送信されているかどうか確認できますか? – Quincy

+0

私はすぐに何が間違っているのか分かりませんが(私にとっては早すぎるかもしれませんが)、開発ツール/ firebug /同様のものを開くと、どのリクエストがサーバーに送られているのか分かりますか? –

+0

ポストを送信しようとしているかどうか(firebug/developer/chromeデベロッパーなど)、それとも遠くにあるのか分かりますか? –

答えて

0

serializeArrayは、例えば、フォームセレクター上で動作します:$('form').serializeArray();それは、個々の入力に働くだろうかわからない要求されたURI/URLに投稿するデータの配列を返します。 これは以前の出来事を殺すので、私はライブの前にdie()を入れました。 場合によっては、e.preventDefault();を追加して、送信時にページを更新するフォームを停止する必要があります。

$('#inv-btn-submit').die().live('click',function(e) { 
    var get_data = $('form').serializeArray(); 
    $.ajax({ 
    type : 'POST', 
    url : '<?= base_url();?>main/insertInvoice', 
    dataType : 'json', 
    data: get_data, 
    success : function(data){ 
     alert(data.msg); 
    }, 
    error : function(XMLHttpRequest, textStatus, errorThrown) { 
     alert('There was an error. '); 
    } 
});//end of ajax 
alert("end here"); 
return false; 
});// end of button click 
2

あなたは 設定でちょうど彼の呼び出しのための非同期をオフにしようとすることができます。 非同期:私は必要はありません推測ライブ()メソッドの前に呼び出さダイ()メソッドについて

... 
data: {product_list: return $('.namabarang').serializeArray(), 
... 

:偽

$('#inv-btn-submit').live('click',function(e) { 

       $.ajax({ 
        type : 'POST', 
        url : '<?= base_url();?>main/insertInvoice', 
        dataType : 'json', 
        data: {product_list:$('.namabarang').serializeArray(), 
         qty_list : $('.qty').serializeArray(), 
         cost_list : $('.cost').serializeArray(), 
         customer_meta:$('#customer input, textarea').serializeArray() 
        }, 

        async: false, 

        success : function(data){ 
         alert(data.msg); 


        }, 
        error : function(XMLHttpRequest, textStatus, errorThrown) { 
         alert('There was an error. '); 
        } 
       });//end of ajax 
       alert("end here"); 
       return false; 

      });// 
0

私はあなたにもこれを行うことができますね。 私の2セント!

0

コンソールにはまだポストデータが送信されていますが、私が送信した2回目の私はその請求書を更新する必要がありますが、私のPHPスクリプトは間違った方向に行き、jsonデータはエコーされません。コールバックデータがないと、エラー関数は起動しませんでした。ヒントのおかげでみんな。

関連する問題