我有一个Rails应用程序,我有一些ajax调用,它通常工作得很好,但这个我可以工作:
我尝试从浏览器运行rails类,工作正常,我尝试在ajax调用之前使用params调用警报,工作正常..但没有连接,什么错了?
jQuery:
$.ajax({
url: "things/ajax_text_read",
data: "book_id=" + book_id + "&page_number=" + page_number + "&type="+ type,
success: function(){$(this).text('data'); }
});
Rails:
def ajax_text_read
@book_id = params['book_id']
@page_number = params['page_number']
@type = params['type']
@text = Thing.where(:parent_id => @page_number, :book => @book_id, :media_type => 'text')
if(@type=='description')
render :inline => "<%= @text[0].description %>"
else
render :inline => "<%= @text[0].title %>"
end
end
答案 0 :(得分:1)
假设things/ajax_text_read
是有效的uri:
$.ajax({
url: "things/ajax_text_read",
data: "book_id=" + book_id + "&page_number=" + page_number + "&type="+ type,
success: $.proxy(function(data){
$(this).text(data);
}, this)
});
答案 1 :(得分:0)
success: function(){$(this).text('data'); }
没有多大意义。在这种情况下,$(this)将成为成功函数,您是否尝试将其文本内容设置为“数据”一词?
也许你的意思是:
success: function(data) { $('#something_in_your_page').text(data); }
代替。