2012-05-08 16 views
0

以下は、encodeURIComponentで削除しようとしているURLにスペースを入れてリダイレクトしています。window.location.hrefをエンコードする際に問題が発生する

私が間違っていることを誰にも見せてもらえますか?

編集:以下の提案ごとに、私は、スクリプト全体を投稿しています...

<script>   
window.fbAsyncInit = function() { 
    FB.init({ 
     appId : '<?php echo $AppID; ?>', 
     oauth : true, 
     status : true, // check login status 
     cookie : true, // enable cookies to allow the server to access the session 
     xfbml : true // parse XFBML 
    }); 

    }; 

function fb_login(){ 
    FB.login(function(response) { 

     if (response.authResponse) { 

      FB.api('/me', function(response) { 
       //Ajax Loader  
        $.post("addtodb.php", 
        {name: response.name, email:response.email}, 
         function(data) { 
         window.location.href = "next.php?name="+escape(response.name)+"&email="+(response.email); //redirect after post callback 
        }) 
      }); 

     } else { 
     } 
    }, { 
     scope: 'email' 
    } 
    ); 
} 
    // Load the SDK Asynchronously 
    (function(d){ 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    ref.parentNode.insertBefore(js, ref); 
    }(document)); 
</script> 
+1

「encodeURIComponent」の代わりに「エスケープ」を使用してください – OptimusCrime

+0

「エスケープ」のダイスはありません – user1373779

答えて

1
escape('foo bar');//foo%20bar 
encodeURI('foo bar');//foo%20bar 
encodeURIComponent('foo bar');//foo%20bar 

これらの3つの例はうまく動作します。そうでない場合は、エラーが発生しているコードに何もないか、スクリプト全体を投稿してください。

+0

ありがとう、わからない何が問題なの?私はOP全体をスクリプトで更新しました。 – user1373779

+0

'返信' varのコンテンツを投稿できますか? –

+0

これはFacebookのAPIから来ていますが、出力は "Firstname Lastname"です – user1373779

関連する問題