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

标签 javascript ajax snackjs

我正在尝试一个小型 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>

我的问题是,在输入元素的更改事件中,如何将元素的 id 以及该元素的值(数量)发布到另一个页面?

我确实浏览了文档,但我不太明白。

最佳答案

你缺少一个

snack.request(options, callback);

打电话。除此之外,你的代码看起来不错……有什么问题吗?

更新

哦,我发现您没有从元素中检索 id.. 从文档中:事件回调的第一个参数是触发事件的节点,因此:

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 等成熟的库有什么意义,因为在我看来,微型库在大小方面的优点并不值得。缺点。

考虑“更大的”库:

  • 拥有更多功能:有一天您决定进一步扩展应用程序功能怎么办?
  • 拥有更大的社区/商业支持:书籍、引用资料、指南……
  • 更有可能已经解决了微型图书馆中仍然存在的问题。想想数百个跨浏览器兼容性黑客......

不过,这只是我的意见,仅供我个人建议。

关于javascript - 将 (AJAX) 数据发布到另一个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12923218/

相关文章:

javascript - Angular 中的 post 请求授权出现问题

javascript - JS 指定 HTML 元素及其属性

javascript - 如何使用 javascript 打开 url 并为请求设置自定义 HTTP header ?

javascript - AngularJS withCredentials 不发送

ajax - ajax调用成功后数据表不更新

javascript - 如何找到一个事件是否已经与 jQuery 绑定(bind)

javascript - 如何将事件监听器附加到 GETElementsByClassName()

javascript - 如何使用正则表达式(javascript)替换所有