当我从phonegap(带有ajax,javascript)的东西发布到我的rails服务器时,帖子成功了,但我的服务器没有响应,所以最后它失败了。我不明白为什么我得不到答复..
例如,这是我的注册脚本(带有ajax的javascript):
$('#sign-up-button').click(function(e) {
var str = $("#signUpForm").serialize();
$(".error").remove();
e.preventDefault();
$.ajax({url: "http://localhost:3000/api/users.json",
type: "POST",
data: str,
success: function(result, status) {
alert('success');
$.mobile.changePage( "welcome.html", { transition: "slide"} );
},
error: function(result) {
alert('error');
}
});
});
我在Ruby on rails端的代码:
# POST /users
# POST /users.json
def create
@user = User.new(params[:user])
respond_to do |format|
if @user.save
format.html { redirect_to @user, notice: 'User was successfully created.' }
format.json { render json: @user, status: :created }
else
format.html { render action: "new" }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
在萤火虫中,我有:消息201已创建,用户已创建(我可以检查),但我没有响应,因此消息提示('错误')出现...
非常感谢您的建议!
答案 0 :(得分:1)
如果您希望获得空响应(例如201),则需要在dataType: 'text'
选项中指定$.ajax
。现在发生的事情是jQuery试图将响应解析为JSON,并且由于没有对解析的响应而失败。
答案 1 :(得分:0)
我刚刚停止尝试使用Firefox,并使用X代码启动它。 它奏效了。
我想知道我是否需要在服务器上工作以获取帖子的响应,有人知道X代码是否创建了服务器?