微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

XML响应在角度10

如何解决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.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?