我正在尝试实现pushState
方法,但无法使其正常工作。触发history.pushState
行而不执行所需的浏览器窗口URL更改。控制台中没有出现任何错误消息。
问题可能是最后一个@href
参数,因为如果我将其替换为"#test"
之类的内容,则浏览器窗口网址会更改为/#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"
答案 0 :(得分:1)
by @href
你可能想要引用按钮的href属性。您无法在this
的回调函数中访问$.ajax
,因此您应该先在变量中存储所需内容。
在reorder = el.attr("reorder")
之后,添加href = @href
然后像这样更新您的pushState
行:history.pushState null, "", href