javascript - 为什么io请求发送了那么多次?

标签 javascript web-services yui

我是 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 事件处理程序。

Code example .

关于javascript - 为什么io请求发送了那么多次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25239531/

相关文章:

javascript - 有没有办法使用 javascript 从图像 src url 获取数字?

java - web.xml 中的 spring web 服务配置?

c# - App_Code 文件夹到 vs2013 中的 dll

javascript - 为什么 YUI 2 DataTables 不能在 IE 中工作,但可以在 FireFox 中工作?

jquery - 从 YUI Datatable 迁移到 Jquery Datatable 时的提示

javascript - ReactiveX:从 observable 中过滤掉数字,使总数永远不会低于零

javascript - 将子 JSON 对象移动到其自己的具有父 ID 的对象

java - 如何为@RestController 启用日志记录?

javascript - 为什么在指定 YUI 模块时需要 YUI.add,如果需要,非 YUI 模块如何工作?

javascript - 如何在 WebGL 中对对象进行动画处理(修改特定顶点而不是完全变换)