使用$ http.get()时,Angularjs url正在被更改。然后()
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用$ http.get()时,Angularjs url正在被更改。然后()相关的知识,希望对你有一定的参考价值。
我有以下代码:
- 首先我记录网址,我得到了想要的网址:
variants/images/30808708?ssl=true
var 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 #
due到我之前遇到的一些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
Update
我跟踪了第一个错误堆栈跟踪,似乎有时后端在找不到数据时返回html,并且它传递了以下调用的typeof ===字符串:
D(a)是:
所以似乎错误是因为JSON.parse('
答案
你的self.baseUrl也应该包含主机地址(以及端口号),否则它将获取托管应用程序的主机地址。因此,请更新您的基地址以包含主机名的完整地址。
以上是关于使用$ http.get()时,Angularjs url正在被更改。然后()的主要内容,如果未能解决你的问题,请参考以下文章
AngularJS $http.get() 在 Chrome 中最多需要 10-20 秒,在 Firefox 中运行良好
angularjs中的$ http.get读取txt文件但无法读取json文件
AngularJS - $http get 返回状态为 0 的错误?