Ruby设计注册AJAX没有得到JSON响应?
问题描述:
我按照这个教程:https://blog.andrewray.me/how-to-set-up-devise-ajax-authentication-with-rails-4-0/而我正在使用rails 5.1。Ruby设计注册AJAX没有得到JSON响应?
我已经实现在控制器中的JSON响应:
class RegistrationsController < Devise::RegistrationsController
respond_to :json
end
当我打电话了ajax我只得到了Html/Text
响应:
function createUser(callback) {
$.ajax({
type: "POST",
url: window.urls.createUser,
data: {
authenticity_token: $("meta[name=csrf-token]").attr("content"),
user: grabOrderFormUserData()
},
success: function(data) {
console.log("Data: " + data);
},
error: function (data) {
//console.log("error");
}
})
}
这个调用工作正常,但返回的HTML注册页面。 我使用的网址是createUser: hostUrl + '/users/'
我错过了什么?
不,如果我将.json
添加到我的网址,它会回应500错误代码。
答
我想你错过提dataType: "json"
与AJAX调用,试试这个
function createUser(callback) {
$.ajax({
url: window.urls.createUser,
type: "POST",
data: {`enter code here`
authenticity_token: $("meta[name=csrf-token]").attr("content"),
user: grabOrderFormUserData()
},
dataType: "json",
success: function(data) {
console.log("Data: " + data);
},
error: function (data) {
//console.log("error");
}
})
}
,并在控制器尝试,如果你没有得到JSON响应调用此模块的情况下,
respond_to do |format|
format.json {
render json: {.....}
}
end
谢谢。
您有阅读这篇文章的疑难解答部分内容(关于耙路线)? – kolas
@kolas耙路线? – Jony
关于添加devise_for:users,:controllers => {sessions:'sessions',registrations:'registrations'} to route.rb – kolas