【问题标题】:What is passed to the success function in an Ajax delete request?Ajax 删除请求中传递给成功函数的内容是什么?
【发布时间】:2016-05-20 20:47:41
【问题描述】:

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

【问题讨论】:

  • 无论您的 ajax 调用返回什么,jQuery 的 ajax 调用都会将 data 传递给成功处理程序,因此您需要查看 ajax 调用实际返回的数据。
  • 查看您的记录控制器,看看它返回了什么,如果有的话。

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


【解决方案1】:

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

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

这样,您将把刚刚删除的记录的 JSON 格式传回 AJAX 调用的成功函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-29
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2015-08-01
    • 2017-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多