编码window.location.href时遇到问题

时间:2012-05-08 21:24:03

标签: javascript facebook-graph-api

以下是重定向URL中的空格,我正在尝试使用encodeURIComponent删除。

有谁能告诉我我做错了什么?

编辑:根据以下建议,我发布整个脚本......

<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 个答案:

答案 0 :(得分:1)

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

这三个例子效果很好。如果不是,请检查代码中是否有其他内容导致错误或在此处发布整个脚本