gpt4 book ai didi

json - Angular $http.get "Uncaught SyntaxError: Unexpected token )"没有文件引用,更别说行号了

转载 作者:行者123 更新时间:2023-12-03 12:14:50 24 4
gpt4 key购买 nike

我在这个问题上已经快不行了。我在我的应用程序中看似随机的地方收到此错误。 Raven 从几十个地点报告了它们,但我只能在本地复制几个。在我看来,问题与解析 JSON 响应有关,但响应是有效的。

在我的 Angular 服务中...

...
getThread: function(id, success, error) {
$http.get('/message/'+id).success(function(data){
success(data);
}).error(error);
}
...

在我的 Express Controller 中...
...
res.json(mssgs);
...

这是一个示例响应...
[
{
"id": 79,
"body": "test",
"senderArchived": false,
"recipientArchived": false,
"createdAt": "2014-04-17T01:44:46.762Z",
"updatedAt": "2014-04-17T01:44:46.762Z",
"RootMessageId": 69,
"SenderId": 164050,
"RecipientId": 154040,
"sender": {
"username": "boca",
"id": 164050,
"primaryMedium": null
},
"recipient": {
"username": "quimby",
"id": 154040,
"primaryMedium": {
"id": "186",
"type": "image",
"nativeURL": "https://domain/imageurl.jpg",
"mediumURL": "https://domain/imageurl.jpg",
"smallURL": "https://domain/imageurl.jpg",
"createdAt": "2014-04-21T15:52:10.927Z",
"updatedAt": "2014-04-21T15:52:10.947Z",
"CommentId": null,
"EventId": null,
"UserId": 154040,
"PostId": null,
"MessageId": null,
"MediaFolderId": null
}
},
"messageMedia": []
}
]

在 Chrome 和 Safari 中,这会导致错误“Uncaught SyntaxError: Unexpected token )”

这是来自 Chrome 的请求 header ...
Remote Address:127.0.0.1:3001
Request URL:https://localhost:3001/message/69
Request Method:GET
Status Code:200 OK

Request Headers
Accept:application/json, text/plain, */*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8,ja;q=0.6
Connection:keep-alive
Cookie:streamLoc=%7B%22distance%22%3A-1%2C%22locName%22%3A%22%22%7D; usePostLocation=yes; connect.sid=s%3AhX37rupUct2jut4yApN1GIH9.n5nPURTMXl5OKd46rMqeRc4bg1Q%2F%2Bky0El2r%2BcBvC8c; user=%7B%22id%22%3A154040%2C%22role%22%3A%7B%22bitMask%22%3A32%2C%22title%22%3A%22admin%22%7D%2C%22username%22%3A%22quimby%22%2C%22emailVerified%22%3Atrue%2C%22verified%22%3Atrue%7D
Host:localhost:3001
Referer:https://localhost:3001/messages
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36

Response Headers
Connection:keep-alive
Content-Length:1115
Content-Type:application/json; charset=utf-8
Date:Tue, 29 Apr 2014 02:41:47 GMT
ETag:"485872145"
X-Powered-By:Express

每个其他类似的问题都指向 JSONP 或实际语法问题,但我没有使用 JSONP,也没有任何代码语法问题。

最佳答案

由于我不知道你的确切情况,我无法提供确切的答案。然而,这是我的尝试。

我看到您的服务没有返回任何内容,而是在其中处理成功和错误功能。

getThread: function(id, success, error) {
$http.get('/message/'+id).success(function(data){
success(data);
}).error(error);
}
  • 您的错误(错误)是否正确?我假设您将错误函数作为参数传递,但我发现 success(data) 之间存在不一致。和 error
  • 这是推荐。我认为你应该改变你的服务只返回 promise ,而不是处理任何事情。所以,它应该是这样的。
    getThread: function(id) {
    return $http.get('/message/'+id);
    }

    然后您的 Controller 处理成功和错误,以便您可以看到所有成功消息和错误消息。因此, Controller 将具有如下代码
    MyService.getThread(id).then( 
    function(data) {....},
    function(error) {....}
    }

  • 在你的 Controller 中有数据处理逻辑会给你更多的调试难度。

    我建议您在 Controller 中处理 http 数据,而不是在服务中。

    关于json - Angular $http.get "Uncaught SyntaxError: Unexpected token )"没有文件引用,更别说行号了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23354634/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com