在Ajax删除请求中传递给success函数的是什么?

时间:2016-05-20 20:47:42

标签: javascript jquery ruby-on-rails ajax reactjs

我目前正在研究一个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似乎没有将任何内容传递给成功函数。真的吗?

1 个答案:

答案 0 :(得分:2)

您需要编辑Rails RecordsController,以便在请求后呈现某种类型的数据。我推荐JSON。

def destroy
  record = Record.find(params[:id])
  record.destroy
  render json: record
end

通过这种方式,您将删除刚刚删除的记录的JSON形式,并将其传递回AJAX调用的成功函数。