def ajax_test
if request.xhr?
render :update do |page|
page.alert("xhr");
end
elsif request.post?
render :update do |page|
page.alert("post");
end
end
end
def ajax_test
if request.post?
render :update do |page|
page.alert("post");
end
elsif request.xhr?
render :update do |page|
page.alert("xhr");
end
end
end
佩服你直接质疑是Rails BUG的勇气, 但不得不告诉你, 这是你的问题.
[code="java"]
# Generates:
#
[code="java"]
<%= link_to_remote "post", {:url => { :action => "ajax_test"} ,:method=>:get } %>
<%= link_to_remote "get", {:url => { :action => "ajax_test" } ,:method=>:post } %>
[/code]
[code="java"]
def ajax_test
if request.xhr?
render :update do |page|
if request.post?
page.alert("post");
end
if request.post?
page.alert("get");
end
end
end
end
[/code]
你的概念有些混淆, post get 跟 xhr 并不是一个概念
post get 是请求方式, 在Rails 里面 还有 delete put
get: 用于得到数据
post: 用于添加数据
delete: 用于删除数据
put: 用于更新数据
这些是一中约定 当然你也可以用 get 来 添加 删除 更新
而 Ajax 是一中局部刷新技术
Ajax 请求同一般的请求一样有 post get delete put
并不是像你所想的 是xhr 就不是 post get delete put 了
你这里的请求是xhr也是post的.