Canjs - 如何抓住类型并传入ajax?

时间:2014-03-05 17:44:36

标签: ajax canjs

HTML片段

<a class="pure-button loveit data-type="image" href="/love/${image?.id}/${session.userId}">..</a>

我是新来的Canjs。

LoveIt = can.Control({


init: function(element, options) {
    var self = this;
    console.log(options);
},

'a.loveit click': function(el, ev) {
    ev.preventDefault();


        var self = this,
            pathname = el.context.pathname,
            getType = $('a.loveit').data('type');

        can.ajax({
            url: pathname + '/type' + '=' + getType,
            success: function(resp) {
                $(self.options.loveit).text(resp.count);
                console.log('success');
            },
            failure: failLove
        });

    console.log(el);
}

});

尝试抓取数据类型以便它可以传递给ajax(例如,/ love / 34?type = image,但它一直给我/ love / 34?undefined。不确定我忽略的位置。

感谢帮助。提前谢谢。

1 个答案:

答案 0 :(得分:1)

对于getType,您可以执行el.data('type')

要发送查询字符串,最好使用数据:

can.ajax({
        url: pathname,
        data: {
            type: getType
        },
      ...
    });

这将创建一个正确的查询字符串。确保getType具有正确的值(通过执行console.log(getType)),这应该可以。