2009-04-12 9 views
5

私はこの

var searchurl="http://mysite.com/searchpath?q=test"; 
$.ajax({ 
    type: "GET", 
    url: searchurl, 
    cache: false, 
    dataType : "jsonp", 
    async : false, 
    success: function(data){ 
     alert("success"); 
    } 
}); 
alert("outside ajax"); 

問題のようなコードスニペットは、私が仕事で非同期を見ていないですということである持っています。 "outside ajax"は私が得る最初のポップアップで、 "success"は2番目です。私が行方不明になっていることが明らかですか? Anothnyの返答に私のコメントから

私のテストのenvを追加

はXP SP2に勝つあり、FF 3.0.8/Firebugの+ IE 8とjQuery v1.3.2デベロッパーワット火かき棒から私が見つけたことは何も明らかではありません。

上記のコードを "http://pipes.yahoo.com/pipes/pipe.run?_id=1nWYbWm82xGjQylL00qv4w&_render=json&textinput1=obama&_callback="というコードで使用してもよろしいですか?

+0

"jsonp?"なしで試してください。 jsonpがasyncと互換性がないかもしれません –

+0

Jason、それは役に立ちません。 –

+0

JSONPは技術的にはAJAXを使用せず、文書のHEADに埋め込む 'script'タグを使用します。あなたが持っている唯一の問題ではないかもしれませんが、間違いなく問題です... – mishac

答えて

6

まあ、同期jsonpリクエストを持つことはできません。 jsonpの実装方法は、クロスドメインアクセスを可能にするスクリプトタグのハックです。だから$ .ajaxはasync属性を無視するだけで、同期jsonpリクエストを作ることができないからです。

補足として、&同期Ajaxリクエストを避けるようにしてください。最初はデザインが単純に見えるかもしれませんが、ネットワークの維持のためにブラウザーをフリーズさせ、非常に不快なユーザーエクスペリエンスを作ります。

関連する問題