我尝试从Angular 4向我的Laravel后端发送POST请求。
我的LoginService有以下方法:
login(email: string, password: string) {
return this.http.post(`http://10.0.1.19/login`, { email, password })
}
我在LoginComponent中订阅了此方法:
.subscribe(
(response: any) => {
console.log(response)
location.reload()
},
(error: any) => {
console.log(error)
})
这是我的Laravel后端方法:
...
if($this->auth->attempt(['email' => $email, 'password' => $password], true)) {
return response('Success', 200);
}
return response('Unauthorized', 401);
我的Chrome开发工具说我的请求成功了,有200个状态代码。但是我的Angular代码触发了错误
块,并给我这个消息:
在分析的过程中Http失败http://10.0.1.19/api/login
如果我从后端返回一个空数组,它会工作。。。那么Angular试图将我的响应解析为JSON?如何禁用此功能?
即使添加响应类型,我也处理了几天,但没有成功。终于我明白了。确保在后端脚本中没有将标头定义为-("Content-Type: Application/json);
因为如果您将其转换为文本,但后端请求json,它将返回一个错误。。。
如果你有选择的话
return this.http.post(`${this.endpoint}/account/login`,payload, { ...options, responseType: 'text' })
您可以指定要返回的数据不是JSON,使用响应类型
。
在您的示例中,可以使用text
的responseType
字符串值,如下所示:
return this.http.post(
'http://10.0.1.19/login',
{email, password},
{responseType: 'text'})
响应类型
的完整选项列表是:
json
(默认值)文本
arraybuffer
blob
有关更多信息,请参阅文档。
这段代码在leapdroid中工作得很好,但我得到了错误模拟器: 我的代码是:
我在使用Android Studio构建应用程序时遇到了这个错误。APK已经编译好了,但是当我尝试在Android P模拟器上运行该应用程序时,它会崩溃并抛出以下错误。详情请参阅附件: 这是我的建筑.等级档案。如果有人对问题可能是什么提出建议,我将不胜感激。多谢。
尝试从Angular 8应用程序调用服务时出错。服务内容如下: 下面是Java rest api(从浏览器调用时工作正常): 我在chrome控制台中发现错误: 错误:{error:SyntaxError:JSON中位于XMLHtt处JSON.parse()位置0处的意外标记A…,文本:“AAA BBB CCC”}头:HttpHeaders{normalizedNames:Map(0),lazyU
我一直在寻找一种方法,通过新的的将查询参数传递到API调用中,但尚未找到解决方案。使用旧的模块,您可以编写如下内容。 这将导致对以下URL的API调用: 但是,新的方法没有属性,所以我想知道在哪里传递查询参数?
本文向大家介绍HttpClient基础解析,包括了HttpClient基础解析的使用技巧和注意事项,需要的朋友参考一下 本文讲述了HttpClient基础知识,对相关概念进行解释在这里分享给大家,供大家参考。 1. 请求执行: HttpClient最重要的功能是执行HTTP方法。执行HTTP方法涉及一个或多个HTTP请求/ HTTP响应交换,通常由HttpClient内部处理。用户期望提供一个请求