![](/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.