2012-05-09 4 views
1

私は、データが投稿された後にページをリダイレクトするために、次のように$.postコールバックを使用しています。場合によっては、ページがかなり高速にリダイレクトされることもありますが、それ以外の場合は3-5秒かかることがあります。

私は初心者ですので、なぜそれが長くかかるのかはわかりません。 PHPが終了するのを待っていますか?ここ何か私はこれをスピードアップするために変更することができますか?

もう1つのメモ... encodeURIComponentは機能していないようです。 URLには常に空白が含まれています?fbname=John Doe" which I am trying to remove with encodeURIComponent`

ありがとう!

FB.api('/me', function(response) { 
       $.post("addtodb.php", 
       {fbname:response.name}, 
        function(data) { 
        window.location.href = "step2.php?fbname="+encodeURIComponent(response.name); //redirect after post callback 
       }) 
      }); 
+0

それはencodeURIComponentではスペースをエンコードしている、あなたはそれがあることを見ていない可能性がありますブラウザがこの%20または+を隠してスペースとして表示しているので、コード化されています –

答えて

2

FirebugやGoogle Chromes inbuiltツールなどのツールを使用している場合は、ネットワークアクティビティを表示できます。これは、退職がどこであるかのアイデアを提供します。待機時間は、サーバーの応答、またはJavaScript内の何らかのものに起因する可能性があります。

例: 私はそれが私の個人的なウェブサイト上でFacebookのlike.phpはかなり遅い転送時間を持っていた見ることができます。.. http://i.imgur.com/pApRt.png

+0

チップをありがとう。私はChromeとFirebugでそれをチェックしました。あなたはそうです... oauthのアクティビティが遅いというフェイスブックのように見えます。場合によっては非常に高速ですが、他は非常に遅いです。それについて私ができることはあまりないと思います。待っている間にライトボックスを表示させることができますか? – user1373779

+1

は...以下のAjaxロード・スクリプトで \t \t \t \t 'jQuery.ajaxSetup({ \t \t \t \t beforeSendこれを解決:関数(){ \t \t \t \t \t $( '#ローダーを')ショー() \t \t \t \t}、 \t \t \t \t完了:関数(){ \t \t \t \t \t $( '#ローダ')非表示() \t \t \t \t}、 \t \t \t \t成功:関数(){ \t \t \t \t \t $( '#ローダ')(非表示) \t \t \t \t} \t \t \t \t}); ' – user1373779

関連する問題