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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...