Angular $http.get “Uncaught SyntaxError: Unexpected token )” 没有文件引用,更不用说行号

Angular $http.get "Uncaught SyntaxError: Unexpected token )" No file reference, let alone a line number

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

在我的 Angular 服务中...

...

getThread: function(id, success, error) {

  $http.get('/message/'+id).success(function(data){

    success(data);

  }).error(error);

}

......

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": []

 }

]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:ExpressgetThread: function(id, success, error) {

  $http.get('/message/'+id).success(function(data){

    success(data);

  }).error(error);

}getThread: function(id) {

 return $http.get('/message/'+id);

}MyService.getThread(id).then( 

 function(data) {....}, 

 function(error) {....}

}getThread: function(id, success, error) {

  $http.get('/message/'+id).success(function(data){

    success(data);

  }).error(error);

}

在我的 Express 控制器中...

...

getThread: function(id, success, error) {

  $http.get('/message/'+id).success(function(data){

    success(data);

  }).error(error);

}

......

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": []

 }

]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:ExpressgetThread: function(id, success, error) {

  $http.get('/message/'+id).success(function(data){

    success(data);

  }).error(error);

}getThread: function(id) {

 return $http.get('/message/'+id);

}MyService.getThread(id).then( 

 function(data) {....}, 

 function(error) {....}

}getThread: function(id, success, error) {

  $http.get('/message/'+id).success(function(data){

    success(data);

  }).error(error);

}

这是一个示例响应...

...

getThread: function(id, success, error) {

  $http.get('/message/'+id).success(function(data){

    success(data);

  }).error(error);

}

......

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": []

 }

]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:ExpressgetThread: function(id, success, error) {

  $http.get('/message/'+id).success(function(data){

    success(data);

  }).error(error);

}getThread: function(id) {

 return $http.get('/message/'+id);

}MyService.getThread(id).then( 

 function(data) {....}, 

 function(error) {....}

}getThread: function(id, success, error) {

  $http.get('/message/'+id).success(function(data){

    success(data);

  }).error(error);

}

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

这是来自 Chrome 的请求标头...

...

getThread: function(id, success, error) {

  $http.get('/message/'+id).success(function(data){

    success(data);

  }).error(error);

}

......

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": []

 }

]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:ExpressgetThread: function(id, success, error) {

  $http.get('/message/'+id).success(function(data){

    success(data);

  }).error(error);

}getThread: function(id) {

 return $http.get('/message/'+id);

}MyService.getThread(id).then( 

 function(data) {....}, 

 function(error) {....}

}getThread: function(id, success, error) {

  $http.get('/message/'+id).success(function(data){

    success(data);

  }).error(error);

}

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


  • 您的错误似乎与某些 JSON 解析功能有关
  • 您的示例响应标头说"application/json; charset=utf-8"

鉴于此,看起来您不需要使用任何解析功能,但缺少一些东西。

如果你不能总是重现它,我会启用记录网络调用,这样你就可以看到准确地检索出哪些响应会带来麻烦。


由于我不知道您的具体情况,所以无法提供确切的答案。但是,这是我的尝试。

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

...

getThread: function(id, success, error) {

  $http.get('/message/'+id).success(function(data){

    success(data);

  }).error(error);

}

......

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": []

 }

]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:ExpressgetThread: function(id, success, error) {

  $http.get('/message/'+id).success(function(data){

    success(data);

  }).error(error);

}getThread: function(id) {

 return $http.get('/message/'+id);

}MyService.getThread(id).then( 

 function(data) {....}, 

 function(error) {....}

}getThread: function(id, success, error) {

  $http.get('/message/'+id).success(function(data){

    success(data);

  }).error(error);

}
  • 你的错误(错误)是正确的吗?我假设您将错误函数作为参数传递,但我发现 success(data)error

    之间存在不一致

  • 这是建议。我认为你应该改变你的服务只返回Promise,而不是处理任何事情。所以,它应该看起来像这样。

    ...
    
    getThread: function(id, success, error) {
    
      $http.get('/message/'+id).success(function(data){
    
        success(data);
    
      }).error(error);
    
    }
    
    ......
    
    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": []
    
     }
    
    ]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:ExpressgetThread: function(id, success, error) {
    
      $http.get('/message/'+id).success(function(data){
    
        success(data);
    
      }).error(error);
    
    }getThread: function(id) {
    
     return $http.get('/message/'+id);
    
    }MyService.getThread(id).then( 
    
     function(data) {....}, 
    
     function(error) {....}
    
    }getThread: function(id, success, error) {
    
      $http.get('/message/'+id).success(function(data){
    
        success(data);
    
      }).error(error);
    
    }

    然后你的控制器处理成功和错误,这样你就可以看到所有的成功信息和错误信息。因此,控制器将具有如下代码

    ...
    
    getThread: function(id, success, error) {
    
      $http.get('/message/'+id).success(function(data){
    
        success(data);
    
      }).error(error);
    
    }
    
    ......
    
    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": []
    
     }
    
    ]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:ExpressgetThread: function(id, success, error) {
    
      $http.get('/message/'+id).success(function(data){
    
        success(data);
    
      }).error(error);
    
    }getThread: function(id) {
    
     return $http.get('/message/'+id);
    
    }MyService.getThread(id).then( 
    
     function(data) {....}, 
    
     function(error) {....}
    
    }getThread: function(id, success, error) {
    
      $http.get('/message/'+id).success(function(data){
    
        success(data);
    
      }).error(error);
    
    }
  • 在您的控制器中拥有数据处理逻辑会给您的调试带来更大的困难。

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


    你是否在

    中传递了一个 null 作为 id

    ...
    
    getThread: function(id, success, error) {
    
      $http.get('/message/'+id).success(function(data){
    
        success(data);
    
      }).error(error);
    
    }
    
    ......
    
    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": []
    
     }
    
    ]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:ExpressgetThread: function(id, success, error) {
    
      $http.get('/message/'+id).success(function(data){
    
        success(data);
    
      }).error(error);
    
    }getThread: function(id) {
    
     return $http.get('/message/'+id);
    
    }MyService.getThread(id).then( 
    
     function(data) {....}, 
    
     function(error) {....}
    
    }getThread: function(id, success, error) {
    
      $http.get('/message/'+id).success(function(data){
    
        success(data);
    
      }).error(error);
    
    }

    解析 $http.get('/message/' )

    时会出现语法错误

    在 $http 调用之前插入一个 null 测试并等待它被命中。


相关推荐

  • Spring部署设置openshift

    Springdeploymentsettingsopenshift我有一个问题让我抓狂了三天。我根据OpenShift帐户上的教程部署了spring-eap6-quickstart代码。我已配置调试选项,并且已将Eclipse工作区与OpehShift服务器同步-服务器上的一切工作正常,但在Eclipse中出现无法消除的错误。我有这个错误:cvc-complex-type.2.4.a:Invali…
    2025-04-161
  • 检查Java中正则表达式中模式的第n次出现

    CheckfornthoccurrenceofpatterninregularexpressioninJava本问题已经有最佳答案,请猛点这里访问。我想使用Java正则表达式检查输入字符串中特定模式的第n次出现。你能建议怎么做吗?这应该可以工作:MatchResultfindNthOccurance(intn,Patternp,CharSequencesrc){Matcherm=p.matcher…
    2025-04-161
  • 如何让 JTable 停留在已编辑的单元格上

    HowtohaveJTablestayingontheeditedcell如果有人编辑JTable的单元格内容并按Enter,则内容会被修改并且表格选择会移动到下一行。是否可以禁止JTable在单元格编辑后转到下一行?原因是我的程序使用ListSelectionListener在单元格选择上同步了其他一些小部件,并且我不想在编辑当前单元格后选择下一行。Enter的默认绑定是名为selectNext…
    2025-04-161
  • Weblogic 12c 部署

    Weblogic12cdeploy我正在尝试将我的应用程序从Tomcat迁移到Weblogic12.2.1.3.0。我能够毫无错误地部署应用程序,但我遇到了与持久性提供程序相关的运行时错误。这是堆栈跟踪:javax.validation.ValidationException:CalltoTraversableResolver.isReachable()threwanexceptionatorg.…
    2025-04-161
  • Resteasy Content-Type 默认值

    ResteasyContent-Typedefaults我正在使用Resteasy编写一个可以返回JSON和XML的应用程序,但可以选择默认为XML。这是我的方法:@GET@Path("/content")@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})publicStringcontentListRequestXm…
    2025-04-161
  • 代码不会停止运行,在 Java 中

    thecodedoesn'tstoprunning,inJava我正在用Java解决项目Euler中的问题10,即"Thesumoftheprimesbelow10is2+3+5+7=17.Findthesumofalltheprimesbelowtwomillion."我的代码是packageprojecteuler_1;importjava.math.BigInteger;importjava…
    2025-04-161
  • Out of memory java heap space

    Outofmemoryjavaheapspace我正在尝试将大量文件从服务器发送到多个客户端。当我尝试发送大小为700mb的文件时,它显示了"OutOfMemoryjavaheapspace"错误。我正在使用Netbeans7.1.2版本。我还在属性中尝试了VMoption。但仍然发生同样的错误。我认为阅读整个文件存在一些问题。下面的代码最多可用于300mb。请给我一些建议。提前致谢publicc…
    2025-04-161
  • Log4j 记录到共享日志文件

    Log4jLoggingtoaSharedLogFile有没有办法将log4j日志记录事件写入也被其他应用程序写入的日志文件。其他应用程序可以是非Java应用程序。有什么缺点?锁定问题?格式化?Log4j有一个SocketAppender,它将向服务发送事件,您可以自己实现或使用与Log4j捆绑的简单实现。它还支持syslogd和Windows事件日志,这对于尝试将日志输出与来自非Java应用程序…
    2025-04-161