我如何拥有我的ajax功能
$(function() {
$("form#new_user").click(function(e) { e.preventDefault();
var dataString = $('#new_user').serialize();
$.ajax({
type: 'POST',
url: '/user',
data: dataString,
success: function(data) {
$('#alertt').text(data);
$('#alertt').fadeIn().delay(2000).fadeOut('slow');
}
});
return false;
然后在php方面它只是做它的事情然后json_encode(whatever)
所以当它取得成功时:它可以将数据放入<p>
像Blah成功
我的表格:
<form accept-charset="UTF-8" action="/users" class="new_user" id="new_user" method="post">
-
但是现在在Rails上,我假设设置是相同的,但数据指向url: '/users'
但是如何设置要在Rails上发回的消息,以便我可以设置{{ 1}}文字到<p>
或者那些长的文字。希望我有理由感谢。
e.g。
User Created
我如何发回消息以便将其用于(数据)?
答案 0 :(得分:0)
我经常遇到两件事。
:partial,:text
def create
if user.save?
render :text => "User Created!"
end
end
$.ajax(
success: function(data) {
$('#alertt').text(data);
}
});
return false;
大多数情况下,我会在控制器中设置几个实例变量之后渲染一部分,并使用div将其部分绘制在JS中的HTML上。别介意。 您要找的是渲染:文字
我认为这个模型可以帮到你,
查看强>
<%= form_tag url_for(:controller => "do",
:action => "something"),
:id => 'do',:method => 'post' do %>
<% end %>
<强>的application.js 强>
$(function() {
$("form#do").submit(function() {
var data = $('form#do').serialize();
$.post('/do_something',data, function(result){
$("#done").hide().html(result).fadeIn(3000);
});
return false;
});
});
<强>的routes.rb 强>
match '/do_something' => "do#something" #routing do_something to do controller, something action.
<强> do_controller.rb 强>
def something
render :text => 'did something'
end
答案 1 :(得分:0)
尝试使用JS,
$.ajax({
type: 'POST',
url: '/user',
data: dataString,
dataType: "json",
success: function(data) {
$('#alertt').text(data.message);
}
});
这是控制器动作的,
def create
@item = Item.new(params)
if @item.save
render json: { message: "Successfully created." }.to_json, status: 201
end
end