如何修复“ JSON的意外结尾”

时间:2019-04-30 18:43:52

标签: ruby-on-rails ember.js ember-data

我的用户页面显示了用户,但是当我停止使用代码一段时间后又回到它时,出现了错误消息

  

处理路由时出错:用户JSON输入意外结束语法错误:JSON输入意外结束

还有

  

未捕获的SyntaxError:JSON输入意外结束

我不知道从哪里开始尝试解决此问题。

这是路由文件users.js中的前端代码:

model() {
  return this.get("store").findAll("user");
},

这是用户控制器中的api代码:

# GET /users
  def index
    render jsonapi: User.all
  end

当我转到http://localhost:3000/users时,会收到以下json:

{
    data: [
        {
        id: "1",
            type: "users",
            attributes: {
                name: "Katie",
                email: "katie@gmail.com"
            }
        },
        {
            id: "2",
            type: "users",
            attributes: {
                name: "Katie",
                email: "katie@gmail.com"
            }
        },
        {
            id: "3",
            type: "users",
            attributes: {
                name: "Katie",
                email: "katie@gmail.com"
            }
        },
        {
            id: "4",
            type: "users",
            attributes: {
                name: "K",
                email: "k"
            }
        },
        {
            id: "5",
            type: "users",
            attributes: {
                name: "R",
                email: "r"
            }
      }
    ],
    jsonapi: {
        version: "1.0"
    }
}

我也收到此警告:警告:服务器为GET http://localhost:3000/users返回了一个空字符串,该字符串无法解析为有效的JSON。返回null或{}。

1 个答案:

答案 0 :(得分:0)

/users路由未提供有效的JSON输出是此错误的原因。您可以使用POSTMAN或编写以下代码来检查/users的输出,

let url ="/users";
Ember.$.getJSON(url).then((result) => {
 console.log(' Result ', result);
});