javascript - 强制获取图像数据到 https

标签 javascript reactjs

我正在寻找一种解决方案,以强制来自 fetch API 的图像使用 https 而不是 http

API 从获取的 JSON 文件中以 http 的形式返回图像结果,但这会在控制台中向 Mixed Content 发出警告

我正在获取 componentDidMount 作为

componentDidMount() {
    var self = this;
    const proxyurl = 'https://cors-anywhere.herokuapp.com/';
    const url = `//api.tripadvisor.com/api/partner/2.0/location/${this.props
      .tripAdvisorId}?key=${AuthKey}`;
    fetch(proxyurl + url)
      .then(data => data.json())
      .then(data => {
        self.setState({
          reviewData: data,
          isLoading: false
        });
      });
  }

然后通过映射数据

{this.state.reviewData.reviews.map(i => {
  return (
    <div key={i.id}>
      <img src={i.rating_image_url} alt={i.title} />
    </div>
  );
})}

返回时,如何强制 {i.rating_image_url} 中的 url 使用 https > 来自 fetch?

最佳答案

通过使用正则表达式,类似于:

{this.state.reviewData.reviews.map(i => {
      return (
        <div key={i.id}>
          <img src={i.rating_image_url.replace(/^http:\/\//i, 'https://')} alt={i.title} />
        </div>
      );
    })}

关于javascript - 强制获取图像数据到 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51990523/

相关文章:

css - 将禁用时的 TextField 的 borderBottom 样式更改为 'none' ?

javascript - 如何使 jQuery/Javascript 在 PHP 语句中工作?

javascript - Tampermonkey 脚本等待元素然后填充它们

javascript - DOM 元素宽度可以是非整数吗?

reactjs - 通过 react 中的嵌套子组件进行映射

reactjs - npm karma phantomJS undefined 不是构造函数

javascript - 将 jwPlayer 变量传递给 jquery

javascript - 将 HTML 添加到 JQuery Isotope additems/insertitems 第 2 部分

javascript - 多行 slider 组件

javascript - 使用 Redux 替换 reducer 中的整个状态