2012-01-06 16 views
0

CoffeeScriptを使用して、画像ソースのパスを置き換えて非同期でポストしようとするjQuery関数があります。Chromeでの非同期jQuery POSTリクエスト

$('.qualify_main_image').live 'click', (event) -> 
    # some stuff 
    $(this).find('img').attr('src', path) 

    $.post(theHref) 

私は、POSTリクエストを行う前にイメージを変更したいと思います。これはSafariとFirefoxで完全に機能します。しかし、Chromeでは、POST要求からの応答が画像のソースパスを変更するのを待つ。

CoffeeScriptは関数の最後の式を返すので、関数の最後に「true」を追加すると役立つかもしれないと思っていましたが、そうではありません。

私は何か間違っていますか?ここで何が起こっているのですか?ありがとうございました。

答えて

1

これはどうやってテストしているのかわかりませんが、まっすぐなjavascriptを使っていても、あなたが記述している問題がないため、CoffeeScriptと関係があるかもしれません。フィドル、以下を参照してください:

$('.qualify_main_image').live('click', function(event){ 
    $(this).find('img').attr('src', 'http://www.travelblog.org/Wallpaper/pix/tb_mecsek_yellow_flower.jpg'); 

    $.post('/echo/json', function(data){ alert('post done.')}); 
}); 

http://jsfiddle.net/Dqg6A/7/

+0

おかげでたくさんの。ワオ。とても奇妙。私はできるだけコードを分離して、Javascriptで書くことを試みました、そして、それはまだ待っています。私は完全に困惑しています。 – kmurph79

+1

それは確かに奇妙です。 asyncをfalseに設定したとしても、画像は最初に設定されます。しかし、UIスレッドに制御を戻すことはできません。ああ、多分それはそうです。あなたのajaxの設定をチェックして、async:trueを確認してください。 – Milimetric

+1

私は見てみることができるようにあなたのものをフィドルに入れてみてください。 – Milimetric

関連する問題