表单以 FB.api 方法连续提交

Form submits continuously in FB.api method

我在代码中的某处调用了 FB.api 方法:

FB.api('/me', function(response) {
  var access_token =  FB.getAuthResponse()['accessToken'];
  document.getElementById('status').value = access_token;
  document.getElementById("tokenForm").submit();
});

问题是 ID 为 tokenForm 的表单不止一次连续提交,我 can.t 找出原因。

问题在于,您不仅将 statusChangeCallback 用作 FB.login 的回调,而且还将 FB.getLoginStatus 用作回调。

后者还将 return 具有 status'connected' 的响应对象,一旦用户登录 – 以此类推每个新页面加载 FB.getLoginStatus调用具有该状态的回调函数,然后触发您的 testAPI 函数,该函数发出 /me 请求,然后提交表单——一次又一次……又一次。