将索引操作中的 JSON 服务到 public 文件夹中的 index.html

Serve JSON from index action to index.html in public folder

我正在尝试使用 Rails 作为后端创建单页应用程序,因为这是我所知道的唯一后端框架。我将所有文件放在 public 文件夹中,还安装了 npm 和 jspm,这样我就可以使用 javascript 功能。

我想做的是在我的电影控制器中执行此索引操作

  def index
    @movies = Movie.all
    render :json => @movies
  end

将电影集作为 JSON 数据发送到位于 public 文件夹中的 index.html 文件。我正在使用 'fetch' 函数检索我的 client.js 文件中的数据:

let api_url = 'http://127.0.0.1:3000'

fetch(api_url).then(function(resp) {
  resp.json().then(function(movies) {
    console.log(movies)
  })
})

这会导致以下错误:

Uncaught (in promise) SyntaxError: Unexpected token <

我不确定这意味着什么,也不知道我是否正确地处理了这个问题。任何帮助将不胜感激。

改成这样:

let api_url = 'http://127.0.0.1:3000/movies'

两者相同:

fetch(api_url).then(function(resp) {
  resp.json().then(function(movies) {
    console.log(movies)
  })
})

fetch(api_url).then(r => r.json())
  .then(data => console.log(data))
  .catch(e => console.log('error'))