这是我在我的视图中的代码,我正在向方法campaign_creation
发送ajax get请求
$(document).ready(function(){
$("#submit").click(function(){
$.get("/configure_campaign/campaign_creation",{category_name: $("#category_name").val()}, function(data){
$("#category_name").val('');
$("#form_add_category").css("display","none");
alert(data.category_name)
})
})
})
这是我的方法代码
def campaign_creation
if(params[:page_id] and params[:page_access_token])
abcd=params[:page_id].split("_")
session[:page_id]=abcd[0]
session[:page_access_token] = params[:page_access_token]
else
category=Category.new
category.category_name=params[:category_name]
category.page_id=session[:page_id]
category.save
@category=Category.find(1)
@category.to_json
end
end
我想我应该能够在我的变量数据中访问@category
。如果我只是将数据放在我的警告框中,我会得到页面的完整代码,如果data.category_name
我得到的结果是未定义的。
答案 0 :(得分:0)
从您为单独行动提供的代码中,您不会呈现JSON响应。您的campaign_creation
方法将尝试查找campaign_creation.html.erb
文件并呈现text/html
响应。
相反,您需要明确告诉Rails呈现JSON数据和操作结束并停止处理。
render json: @category and return
现在您可以预期Ajax响应中的data
变量可以访问@campaign
的{{1}}属性。