获取iTunes Search API GET

时间:2019-04-20 19:04:53

标签: javascript reactjs

我不明白问题出在什么地方,我通过抓取得到了一个请求,我尝试看看会发生什么,但是没有任何效果

import React from 'react';

import './SearchLine.css';

export class SearchLine extends React.Component {

    constructor(props) {
      super(props)
      this.state = { data: []}
    }


    MakeARequest(request) {
       fetch("https://itunes.apple.com/search?term=jack+johnson",
            {
                mode:'no-cors'  
            }
        )
    .then(response => console.log(response));
   }
  componentDidMount() {
     this.MakeARequest('sia');
  }

  render() {
  return(
   <div>
    {this.state.data.length !==0?
        this.state.data.map(
            (data_iter, i) => {
                return(
                    <div
                        DATA={data_iter}
                        key={i}
                    />
                )
            }
        ): " "
    }
   </div>
);
}}

在浏览器控制台中,请求的状态为false,未显示任何内容,我不知道为什么,在错误发生在CORS崩溃之前,但是我在获取请求中注册了“ no-cors”,但没有任何变化< / p>

Error message screen image

1 个答案:

答案 0 :(得分:0)

添加mode: 'no-cors'将无法完成此工作。默认情况下,浏览器会阻止CORS请求。仅当服务器使用Access-Control-Allow-Origin响应服务器时,您的代码才有效,然后浏览器将不会阻止请求,并允许您的代码访问响应,但如果它不发送Access-Control-Allow-Origin标头,在其响应中,Chrome将不允许您的代码从网站访问响应。