繁体   English   中英

将(AJAX)数据发布到另一个页面

[英]Posting (AJAX) data to another page

我正在尝试一个小的JavaScript库, SnackJS ,我做得很好。 但我已经撞墙了,似乎无法想出这个:

小吃:

<script type="text/javascript">
    snack.ready(function () {
        var parameters = {
            node: document.body,
            event: 'change',
            delegate: function (node) {
                return node.getElementsByClassName("qty")
            }
        }

        snack.listener(parameters, postToOtherPage);

        function postToOtherPage() {
            var options = {
                method: 'post',
                url: '/InlineEditing',
                data: {
                    qty: 5,
                    id: "hi"
                }
            }
        }
    });
</script>

我的问题是,在input元素的change事件中,如何将元素的id以及该元素的值(qty)发布到另一个页面?

我确实浏览了文档,但我无法弄明白。

你错过了一个

snack.request(options, callback);

呼叫。 从中可以看出,您的代码看起来很好......它有什么问题?

更新

哦,我看到你没有从元素中检索id ..来自docs:事件回调的第一个参数是触发事件的节点,所以:

snack.ready(function () {
    var parameters = {
        node: document.body,
        event: 'change',
        delegate: function (node) {
            return node.getElementsByClassName("qty")
        }
    }

    snack.listener(parameters, postToOtherPage);

    function postToOtherPage(event) {
        var options = {
            method: 'post',
            url: '/InlineEditing',
            data: {
                qty: 5,
                id: this.id
            }
        }
        snack.request(options, function(){
          // do something with response..
        });
    }
});

应该工作正常..

更新

不,抱歉,进一步阅读我发现他们正在使用callback.apply(this, [event])的文档,像往常一样..更新上面的代码。

顺便说一句,我没有看到使用这种微库而不是像jQuery / Zepto那样成熟的库这一点,因为微库的优点在大小方面不值得IMO的缺点。

考虑一下“更大”的图书馆:

  • 有更多的功能:那么你决定更多地扩展应用程序功能的那天呢?
  • 拥有更大的社区/商业支持:书籍,参考,指南,......
  • 更有可能已经解决了微库中仍存在的问题/问题。 想想数以百计的跨浏览器兼容性攻击......

但是,这个只是我的意见,只是把它作为我个人的建议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM