Angular 如何在http GET请求中传递多个参数?
我使用下面的方法在HTTPGET请求中传递多个参数,但它给了我一个错误-Angular 如何在http GET请求中传递多个参数?,angular,xmlhttprequest,Angular,Xmlhttprequest,我使用下面的方法在HTTPGET请求中传递多个参数,但它给了我一个错误- import { HttpParams, HttpClient } from '@angular/common/http'; constructor(private http: HttpClient) { } let params = new HttpParams(); params = params.append('var1', val1); params = params.append('var2', val2);
import { HttpParams, HttpClient } from '@angular/common/http';
constructor(private http: HttpClient) { }
let params = new HttpParams();
params = params.append('var1', val1);
params = params.append('var2', val2);
this.http.get(StaticSettings.BASE_URL, {params: params}).subscribe(...);
错误-无法重新声明块作用域变量“params”
如果我更改了名称,那么如何在URL中调用它
作为一种解决方法,我考虑将参数直接附加到URL中,如下所示-
this.params1 = 'parameter1';
this.params2 = 'parameter2';
this.params3 = 'parameter3';
http请求-
return this.http.get('URL/json?'+'¶meter1='+this.params1+'¶meter2='+this.params2+'¶meter3='+this.params3)
我犯了这个错误-
在“URL/json”+“¶meter1=”+this.params1+“¶meter2=”+this.params2+“¶meter3=”+this.params3”处从源代码访问XMLHttpRequesthttp://localhost:4200'已被CORS策略阻止:请求的资源上不存在'Access Control Allow Origin'标头
为了检查URL是否正确附加,我在错误中单击了URL,它工作正常
谁能帮我解决这个问题
谢谢 可以发送参数:
const params = new HttpParams()
.set('p1', 'one!')
.set('para2', "two");
及
您的代码看起来不错,也许您有一个cors问题:什么是StaticSettings.BASE\u URL?http还是https?或相对url?可以发送以下参数:
const params = new HttpParams()
.set('p1', 'one!')
.set('para2', "two");
及
您的代码看起来不错,也许您有一个cors问题:什么是StaticSettings.BASE\u URL?http还是https?还是相对url?问题的第一部分,即传递多个参数得到了解决。感谢@Marc回答了这个问题 我认为问题是由于我附加参数的方式造成的,但这是CORS问题。为了修复它,我在http请求中的url之前添加了-
&成功了!: 问题的第一部分,即传递多个参数得到解决。感谢@Marc回答了这个问题 我认为问题是由于我附加参数的方式造成的,但这是CORS问题。为了修复它,我在http请求中的url之前添加了-
&成功了!: 太好了!谢谢它正确地附加了所有参数,但我仍然得到CORS错误。我如何解决这个问题?这是第二个问题;-好啊我需要信息:什么是StaticSettings.BASE\u URL?http还是https?还是相对url?已经解决了!!找到了解决办法!无论如何谢谢你!!我向谷歌提出了一个请求,太棒了!谢谢它正确地附加了所有参数,但我仍然得到CORS错误。我如何解决这个问题?这是第二个问题;-好啊我需要信息:什么是StaticSettings.BASE\u URL?http还是https?还是相对url?已经解决了!!找到了解决办法!无论如何谢谢你!!我向google places API发出了一个请求¶meter1:first ampersand太多了,但这不是问题。¶meter1:first ampersand太多了,但这不是问题。