我目前正在研究一个React-Rails应用程序,并试图找出如何从成功函数将已删除的记录传递给父组件以更新父组件的视图。
以下是相关代码:
handleDelete (e) {
var that = this;
var url = "/records/" + this.props.data.id;
e.preventDefault();
$.ajax({
method: 'DELETE',
url: url,
dataType: 'JSON',
success: (data) => {
console.log(data);
that.props.handleDeleteRecord(data);
}
});
}
上面的console.log(data)返回undefined。
我的问题是,Ajax似乎没有将任何内容传递给成功函数。真的吗?
答案 0 :(得分:2)
您需要编辑Rails RecordsController
,以便在请求后呈现某种类型的数据。我推荐JSON。
def destroy
record = Record.find(params[:id])
record.destroy
render json: record
end
通过这种方式,您将删除刚刚删除的记录的JSON形式,并将其传递回AJAX调用的成功函数。