我是 Yui 新手,但仍计划了解它。因此,我需要你!我遇到了一些问题,但尚未找到任何解决方案。这是计划:
我有一个按钮,当我单击它时,该按钮会将 Json 发送到网络服务。如果发送成功,我会收到“成功”警报,否则会收到“失败”警报。
问题是这样的:
- 我点击按钮一次,我收到1 条成功提醒(好的)
- 我再点击一次,我收到2 个成功提醒(为什么是两个?)
- 我第三次点击并收到另外 3 条成功提醒...
- 我刷新页面,点击按钮并收到 1 条成功提醒
那这是为什么呢?为什么第二次会显示两倍的警报? 这是我正在使用的 Yui 代码:
YUI().use('io-base', 'json', 'event', 'querystring-stringify-simple', function (Y) {
Y.one('#connectBut').on('tap', function (e){
var jsonCreateUser = {
"login": "01234",
"password": "TestUser"
},
handleSuccess = function () {
alert("success");
},
handleFailure = function () {
alert("failure");
},
url = 'myServer';
Y.on('io:success', handleSuccess);
Y.on('io:failure', handleFailure);
Y.io(url, {
method: 'POST',
data: jsonCreateUser
});
});
});
如果这对您来说听起来很明显,请解释一下,我真的很想理解这一点。
感谢您的帮助!
最佳答案
#connectBut
上的每个 tap
事件都会将 handleSuccess
绑定(bind)到 io:success
。
您必须将 handleSuccess
绑定(bind)到 io:success
的代码移出 tap
事件处理程序。
关于javascript - 为什么io请求发送了那么多次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25239531/