我正在尝试使用jQuery向我的Sinatra应用程序提交表单,但是当通过AJAX进行POSTing时,Sinatra应用程序显示一个空白页面。我希望它留在同一页上,并更新我在javascript中指定的内容。以下是我的代码,精简如下:
post '/register' do
register( params )
end
get '/register' do
haml :register
end
下面是我在haml文件中的javascript:
:javascript
$(function() {
$("button#submit").click(function(){
$.ajax({
type: "POST",
url: "/register",
data: $('form.register').serialize(),
success: function(){
$("#message").html("Successfully registered")
},
error: function(){
$("#message").html("Not Successful")
}
});
});
});
发布于 2013-03-13 12:51:36
尝尝这个,
$(function() {
$("form#the_id").submit(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "/register",
data: $('form.register').serialize(),
success: function(){
$("#message").html("Successfully registered")
},
error: function(){
$("#message").html("Not Successful")
}
});
});
});
$("form#the_id").submit(...
检测表单提交。e.preventDefault();
阻止表单提交。其余的提交一个Ajax请求。
不要忘记将#the_id
更改为您的表单id。
https://stackoverflow.com/questions/15377367
复制相似问题