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

IT技术 javascript jquery ruby-on-rails ajax reactjs
2021-05-17 04:41:21

我目前正在开发一个 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个回答

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

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

有了它,您将刚刚删除的记录的 JSON 形式传递回 AJAX 调用的成功函数。