错误-TypeError:仅在向 Angular 5 应用程序内的 api 服务器发出 GET 请求后,在 Safari 上输入错误
Posted
技术标签:
【中文标题】错误-TypeError:仅在向 Angular 5 应用程序内的 api 服务器发出 GET 请求后,在 Safari 上输入错误【英文标题】:ERROR - TypeError: Type error only on Safari after made GET request to the api server inside angular 5 app 【发布时间】:2018-05-14 07:30:18 【问题描述】:所以我在 Angular 5 之上制作网络应用程序。 问题是当我尝试从服务器调用 api 端点时。
当我收到错误响应 (400+) 时,似乎在 Safari 上它总是抛出并破坏应用程序。
ERROR - TypeError: Type error
ERROR CONTEXT – DebugContext_ view: Object, nodeIndex: 0, nodeDef: Object, …
但在 Chrome 上,它可以像这样正确处理错误。
GET https://api.xxxx.com/projectname/v1.0/validation/access-token 400 (Bad Request)
这是我的源代码
const baseUrl = environment.apiUrl;
const fullUrl = baseUrl + '/productname/v1.0/validation/access-token';
const headers = new HttpHeaders(
'X-Access-Token': access_token
);
this.http.get(fullUrl,
headers: headers
).subscribe((res: any) =>
console.log(res, 'http res');
,
(error: any) =>
console.log(error, 'http err');
);
有人知道如何解决这个问题吗?
【问题讨论】:
您找到解决方案了吗?我也有同样的问题。 我不记得了,但如果我没记错的话,原因是 api 的响应格式不正确。 感谢您的回复,但相同的代码适用于具有任何操作系统版本的所有其他 android 和 ios 设备。只有一台运行 iOS 12 的特定设备(iPhone 7)存在此问题。 【参考方案1】:经过大量调试,我找出了导致我的问题。在每个请求中,我都发送了移动设备的名称,就我而言,它是 Shashank 的 iPhone。
在标头中使用 单引号 调用 setRequestHeader
失败,因此所有 HTTP 请求都中断了。
【讨论】:
以上是关于错误-TypeError:仅在向 Angular 5 应用程序内的 api 服务器发出 GET 请求后,在 Safari 上输入错误的主要内容,如果未能解决你的问题,请参考以下文章
Angular 12 TypeError:无法在 HttpHeaders.applyUpdate 处读取 null 的属性(读取“长度”)
Angular:错误:未捕获(承诺):TypeError:Object(...)不是函数
Angular 6 TypeError:无法读取未定义的属性(读取“长度”)错误
AJAX错误:TypeError:在此上下文中无法访问“arguments”,“callee”和“caller”
显示错误 angular.js:12477 TypeError: $(...).intlTelInput is not a function