Javascript 如何将Rails变量传递给AJAX响应函数?
我用AJAX写:Javascript 如何将Rails变量传递给AJAX响应函数?,javascript,ruby-on-rails,ajax,Javascript,Ruby On Rails,Ajax,我用AJAX写: $.ajax({ URL: '/new_avatar', type: 'POST', data: { username: 'alizade' }, success: function(response){ alert(response); }, }) Route.rb: post '/new_avatar' => 'avatars#new_avatar' Avatar.rb模型: self.new_avatar(usern
$.ajax({
URL: '/new_avatar',
type: 'POST',
data: { username: 'alizade' },
success: function(response){
alert(response);
},
})
Route.rb:
post '/new_avatar' => 'avatars#new_avatar'
Avatar.rb模型:
self.new_avatar(username)
Avatar.where(username: username).select('avatar').last
end
头像控制器:
def new_avatar
@username = params[:username]
@result = Avatar.new_avatar(@username)
end
那么,如何将@result发送到AJAX响应函数并警告数据库选择结果呢?您需要在控制器方法中使用
render:text
def new_avatar
@username = params[:username]
@result = Avatar.new_avatar(@username)
render :text => "#{@username} has this result:- #{@result.inspect}"
end
假设您只需要此服务的响应,您可以使用以下方法获得结果
def new_avatar
@username = params[:username]
render :json => Avatar.new_avatar(@username)
end
现在作为响应,我得到了带有空主体部分的html页面代码。我怎样才能修好它?你的答案能解决问题吗?我能得到答案吗?现在我得到了带有空主体部分的html代码。我不知道为什么你应该在警报中创建化身。不,我想从数据库表列AvatarId中获取化身的路径。你的意思是“路径”,在化身数据库表中列名为“路径”,或者rails avatar pathNo,它只是数据库表“avatar”列中的记录。您的代码(呈现json)返回null