【发布时间】:2017-12-29 10:00:12
【问题描述】:
我有以下代码:
-
首先我记录 url 并获得所需的 url:
variants/images/30808708?ssl=truevar myUrl = self.baseUrl + 'images/' + self.currentItem.variants[variant].imageId + '?ssl=true' console.log(myUrl); //prints: variants/images/30808708?ssl=true -
第二次我拨打
http.get(myUrl).then(...)电话:$http.get(myUrl) .then(function(data) { //do something... }, function(e) { console.log('err', e); //error prints undefined });在第二段代码中,url 的开头似乎是这样的两倍/三倍:
GET http://localhost:8080/variants/199variants/variants/images/30808708?ssl=true 404 (Not Found)
注意variants/199variants/variants/
我不知道这种重复来自哪里。最近我将应用程序从 1.3 更新到 1.5,并删除了 hashbang #由于我之前遇到的一些 canonicalUrl 错误。不确定这是否相关
这是我在控制台中遇到的错误:
vendor.min.js:119 SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse (<anonymous>)
at Cc (vendor.min.js:16)
at gc (vendor.min.js:93)
at vendor.min.js:94
at q (vendor.min.js:7)
at md (vendor.min.js:94)
at f (vendor.min.js:96)
at vendor.min.js:132
at m.$eval (vendor.min.js:147)
at m.$digest (vendor.min.js:144)
(anonymous) @ vendor.min.js:119
vendor.min.js:119 Broken interceptor detected: Config object not supplied in rejection:
https://github.com/chieffancypants/angular-loading-bar/pull/50
更新
我跟踪了第一个错误堆栈跟踪,似乎有时后端在找不到数据时返回 html,它传递了以下调用的 typeof === 字符串:
D(a) 是:
所以似乎错误是在 JSON.parse('
【问题讨论】:
-
检查您的服务器端 API 是否返回正确的 JSON 响应。
-
感谢@MohammedGadi,这似乎是错误,请您阅读我的更新。所以解决方案是告诉后端返回 JSON 或更改 JSON.parse() 原型?你怎么看?
-
转到您的 chrome 网络选项卡并通过单击 url 查看响应。
-
顺便问一下你是用asp.net mvc作为后端吗?
-
@MohammedGadi ,后端人员正在使用 Java。响应是一个 html:
Apache Tomcat/8.0.14 (Debian) - Error re...
标签: angularjs angularjs-directive angular-ui-router angularjs-scope angular-promise