【问题标题】:Ajax response is nullAjax 响应为空
【发布时间】:2015-10-29 08:04:18
【问题描述】:

我有一个与我的 Rails 控制器对话的 AJAX 调用,AJAX 没问题,但回调不包含数据。

我的 AJAX 调用:

$.ajax({
    url: '/get_progress/:' + this.props.myfile,
    type: "GET",
    dataType: "text",
    success: function(data) {
        console.log(data);
    }.bind(this),
    error: function(data) {
        console.log("Error");
    }.bind(this)
});

我的 rails 控制器方法:

def get_progress
    a = Rails.configuration.progress
    render :text => a
end

我的路线:

get '/get_progress/:id' => 'myfiles#get_progress'

我的 AJAX 成功回调中没有数据,为什么我的 a 值没有传回?

【问题讨论】:

  • 如果直接在浏览器中打开路由,会看到响应吗?
  • 是的,我可以直接在路由中看到响应。
  • js 控制台说什么?是否执行请求并返回数据?
  • 我不太确定,因为我没有使用 Rails 的经验,但是路线中的 :id 部分不是占位符,那么实际路线不应该包含冒号吗?所以你应该只打电话给'/get_progress/' + this.props.myfile。如果这不起作用,请检查浏览器的网络选项卡以查看它执行的请求并检查那里是否返回任何输出。
  • 是的,我太愚蠢了。真的没见过。谢谢。让它工作。您可以将其添加为答案吗:)

标签: javascript ruby-on-rails ajax reactjs


【解决方案1】:

您的url 不正确,:id 只是ID 的

$.ajax({
    url: '/get_progress/' + this.props.myfile,
    type: "GET",
    dataType: "text",
    success: function(data) {
        console.log(data);
    },
    error: function(data) {
        console.log("Error");
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-03
    • 2013-11-22
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 2016-03-27
    • 2018-12-18
    • 2012-09-26
    相关资源
    最近更新 更多