我在一些JavaScript中嵌入了以下AJAX代码:
$.ajax({
type: 'POST',
url: '/books',
data: {'book[author]':tags[i].book.author, 'book[edition]':tags[i].book.edition, 'book[title]':tags[i].book.title, 'book[url]':newBookUrl},
dataType: 'json',
async: false,
success: function(data){
mapcode+=" href='javascript:lightbox("+data+")' />";
alert(mapcode);
},
fail: function(){mapcode+=" href='' onclick='return false;' />";
alert(mapcode);}
});
它正在调用此模型中的create方法:
def create
book = Book.new(params[:book])
if (Book.find_by_url(book.url))
book = Book.find_by_url(book.url)
else
book.save
end
book.users << current_user
render :json => book.url
end
由于某种原因,成功和失败回调都没有触发。否则,AJAX似乎正在运行。新数据被上传到数据库,根据Firebug,我得到了用JSON返回的book.url。知道这里发生了什么吗?