【发布时间】:2013-07-17 18:24:44
【问题描述】:
我有一个按钮:
<span id="signinButton">
<span
class="g-signin"
data-callback="onSignInCallback"
data-clientid="CLIENT_ID"
data-cookiepolicy="single_host_origin"
data-requestvisibleactions="http://schemas.google.com/AddActivity"
data-scope="https://www.googleapis.com/auth/plus.login">
</span>
</span>
按下时,它会运行一个函数...此时会关闭,发出 AJAX 帖子,并在控制台中打印一些文本(只是为了测试,这部分有效):
<script type="text/javascript">
var helper = (function() {
return {
onSignInCallback: function(data) {
var dataString = 'access_token=' + data['access_token'];
$.ajax({
type: "POST",
url: "getdetails",
data: dataString,
dataType: 'html',
timeout: 0,
statusCode: {
200: function(data){
console.log(data);
},
error: function(data){
console.log("There was an error");
}
}
});
}
};
})();
function onSignInCallback(data) {
helper.onSignInCallback(data);
}
</script>
但是,问题是每次我在不单击按钮的情况下刷新页面时,我的函数都会运行,并且通过 AJAX 发布数据并将文本打印到控制台中。
知道为什么会这样吗?我想要它(显然)所以这只会在他们点击按钮时发生。
我正在使用 Google Plus API,代码修改自:
https://github.com/googleplus/gplus-quickstart-javascript/blob/master/index.html#L44
【问题讨论】:
-
奇怪。有时我也会在 chrome 中发生这种情况。