如何解决XML响应在角度10
我正在使用一个给我xml响应的API,但是不幸的是我无法检索xml响应。我通过我的角度应用程序在浏览器上收到CORS问题。但是我可以从浏览器和邮递员那里得到响应。
我只需要获取xml响应。
这是我的代码
import { Component } from '@angular/core';
import { xml2js } from 'xml2js';
import { HttpClient,HttpHeaders } from '@angular/common/http';
@Component({
selector: 'app-root',templateUrl: './app.component.html',styleUrls: ['./app.component.css'],})
export class AppComponent {
constructor(private http: HttpClient) {}
httpData;
public xmlItems: any;
ApiUser = '***';
domain_name = 'website.com';
ApiKey = '*****';
Command = '****';
ClientIp = '*********';
ngOnInit() {
this.http
.get(
`https://api.namecheap.com/xml.response?ApiUser=${this.ApiUser}&ApiKey=${this.ApiKey}&UserName=*****&ClientIp=${this.ClientIp}&Command=${this.Command}&DomainList=${this.domain_name}`,{
headers: new HttpHeaders()
.set('Content-Type','text/xml')
.append('Access-Control-Allow-Methods','GET')
.append('Access-Control-Allow-Origin','*')
.append(
'Access-Control-Allow-Headers','Access-Control-Allow-Headers,Access-Control-Allow-Origin,Access-Control-Request-Method'
),responseType: 'text',}
)
.subscribe((data) => {
this.parseXML(data).then((data) => {
this.xmlItems = data;
});
});
}
parseXML(data) {
return new Promise((resolve) => {
var k: string | number,arr = [],parser = new xml2js.Parser({
trim: true,explicitArray: true,});
parser.parseString(data,function (err,result) {
var obj = result.ApiResponse;
for (k in obj.CommandResponse) {
var item = obj.CommandResponse[k];
arr.push({
info: item.DomainCheckResult[0],});
}
resolve(arr);
});
});
}
}
我的模块
import { browserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { browserAnimationsModule } from '@angular/platform-browser/animations';
import { HttpClientModule } from '@angular/common/http';
import { AppComponent } from './app.component';
@NgModule({
declarations: [AppComponent],imports: [browserModule,browserAnimationsModule,HttpClientModule],providers: [],bootstrap: [AppComponent],})
export class AppModule {}
html文件
<ul *ngFor="let item of xmlItems">
<li>{{ item.DomainCheckResult }}</li>
</ul>
这就是所有代码。我得到Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://api.....
,也收到这个错误(Reason: CORS request did not succeed)
任何人都可以帮助我,为什么我声明所有标头并提供适当的凭证时却没有得到响应。
预先感谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。