0

我有一个 Rails 5 应用程序构建为api 应用程序。所以默认情况下它只响应 json。

但是对于一个特定的请求,我需要应用程序使用脚本进行响应。

在常规的 Rails 应用程序中,我只需将我的脚本放在一个js.erb文件中。这在这里行不通。

如果我的控制器操作如下所示:

def respond_with_js
end

我要求这样的应用程序:

$.getScript("https://myapp.example.com/respond_with_js");

它回应204 No Content

Started GET "/respond_with_js" for 127.0.0.1 at 2018-06-27 20:28:44 +0200
Processing by ApplicationController#respond_with_js as */*
Completed 204 No Content in 0ms

我该如何解决这个问题?

4

1 回答 1

0

如果 rails server 只是 api 版本,则不能作为脚本请求。

Rails 默认响应 json。

def respond_with_json
   render json: {message: "works"}, status: :ok
end

要请求它,您需要请求为 json dataType:

$.ajax({
    url: "https://myapp.example.com/respond_with_json",
    method: "GET",
    dataType: "json",
    success: function(res){
       console.log(res.message)
    }
})
于 2018-06-27T19:12:44.423 回答