0

我正在尝试实现该pushState方法,但无法使其正常工作。该history.pushState行在不执行所需的浏览器窗口 URL 更改的情况下被触发。控制台中没有出现任何错误消息。

问题可能是最后一个@href参数,因为如果我用类似的东西替换它"#test",浏览器窗口 URL 将更改为/#test.

我在这里想念什么?:

paramsBtn = $(".reorder-orders")
paramsBtn.off "click"
paramsBtn.click (e) ->
    el = $(e.currentTarget)
    reorder = el.attr("reorder")

    $.ajax
        type: "get"
        dataType: "script"
        data:
            view: reorder
        url: "/api/orders/reorder_orders"
        success: (data, status, xhr) ->
            history.pushState null, "", @href
            false

        error: (xhr, textStatus, errorThrown) ->
            console.log "Error while organizing"
4

1 回答 1

1

@href您可能想参考按钮的 href 属性。您无法再访问this$.ajax回调函数,因此您应该先将所需的内容存储在变量中。

紧随其后reorder = el.attr("reorder"),添加href = @href

然后像这样更新您的pushState行:history.pushState null, "", href

于 2013-09-14T11:26:27.127 回答