![](/img/trans.png)
[英]When I call generic handler using cross domain by ajax then data is undefined on success of ajax
[英]Ajax success handler - data is undefined
這是我提出ajax請求的方式
#action
def get_item
if request.get?
binding.pry #it always stop here, so it's working
item = Item.where(...)
unless item
item = Item.new
# .....
end
respond_to do |format|
format.json { render(json: item) }
end
elsif request.post?
# ......
end
end
#view
$.ajax({
type: "GET",
url: "/contr/get_item",
data: {key1: "value1"},
//datatype: "json",
success: function(data){
console.log("ajax success, data -> " + data[0]);
}
});
盡管執行了get_item
的代碼,但是頁面上的data
值始終是undefined
。
我錯過了什么?
ps請注意,請求是通過 json從服務器發送回的。 我可以通過單擊“ F12”並轉到“網絡”標簽,通過“調試工具”在Chrome中看到它。
嘗試這個:
def get_item
if request.get?
item = Item.where(...)
unless item
item = Item.new
# .....
end
render :json => item.to_json
elsif request.post?
#...
end
end
$.ajax({
type: "GET",
url: "/contr/get_item",
data: {key1: "value1"},
//datatype: "json",
success: function(data){
console.log("ajax success, data -> " + data[0]);
}
});
您的URL需要告訴您要使用的格式。 在您的情況下,它應以.json
結尾,以便在json中進行響應。
#view
$.ajax({
type: "GET",
url: "/contr/get_item.json",
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.