0

我从数据库中获取雇主网址,当我单击网址文本时,它打开为 localhost:3000/webadresslink,如何将其更改为 https://webaddresslink

import React, { useState, useEffect } from 'react'
import EmployerService from '../../services/employerService'
import { Styles } from './style'
import { Card, Container } from 'react-bootstrap'

const EmployersList = () => {
  const [employers, setEmployers] = useState([])

  useEffect(() => {
    let employerService = new EmployerService()
    employerService.getAllEmployers().then(result => setEmployers(result.data.data))
  })
  return (
    <Styles>
      <Container>
        {
          employers.map(employer => (
            <Card>
              <Card.Body>
                <Card.Title>{employer.companyName}</Card.Title>
                <Card.Text>
                  <a href={employer.webAddress} target="blank">
                    {employer.webAddress}
                  </a>
                </Card.Text>
                <Card.Text>
                  {employer.email}
                </Card.Text>
                <Card.Text>
                  {employer.phoneNumber}
                </Card.Text>
              </Card.Body>
            </Card>
          ))
        }
      </Container>
    </Styles>
  )
}
4

1 回答 1

0

因为kodlama.io不是绝对 URL。它在您看来可能直观地看起来像一个,但它在结构上与其他相对 URL 没有任何不同,例如:

  • index.html
  • index.com
  • index.html.com
  • www.index.html
  • 等等

要告诉浏览器这是一个不同主机的 URL,您需要为其添加前缀:

  • https://kodlama.io

甚至简单地说:

  • //kodlama.io

如果显示的数据没有很好的组织,并且一些URL 值有前缀而一些没有,那么前端逻辑的可行尝试可能很简单:如果值不包含“//”,那么在它前面加上前缀“//”。例如:

href={
  employer.webAddress.includes('//') ?
  employer.webAddress :
  `//${employer.webAddress}`
}
于 2021-08-31T15:39:54.683 回答