当前位置: 首页 > 知识库问答 >
问题:

ReactJS发出http请求并在页面上显示结果

秦景福
2023-03-14

我有一个带有按钮的搜索栏。当按钮被点击时,search_on_click功能运行。该函数应该检索URL的html并将其显示在页面上。

class App extends Component{
    constructor(props){
        super(props)
        this.state = {
            html: []
        }
        this.search = this.search.bind(this)
    }
    search(){
        const URL = 'https://www.zerochan.net/Re%3AZero+Kara+Hajimeru+Isekai+Seikatsu?s=fav'


        axios.get(URL)
            .then(data =>{
             console.log(data)
                this.setState({
                    query: data
                })
            })
            .catch(function(error){
               console.log(error);
            })

}
    render(){

        return(
         <div>
        <button onClick={() => this.search()}>search</button>
        <div>{this.state.query}</div>
        </div>

这是我目前掌握的代码。这些问题包括:

>

我尝试过获取/请求,但问题大致相同

谢谢你抽出时间。

共有1个答案

倪风史
2023-03-14

您试图获取的URL不是有效的资源。您应该点击一个返回一些数据的URL,在您的例子中,它是一个HTML,没有用于传输数据的API,或者您可以访问它的CORS。因此,您将无法获得预期的结果,axios也无法提供您的请求。

有效API请求的示例https://codesandbox.io/s/jv73ynwz05

组件安装(插入树)后立即调用组件。需要DOM节点的初始化应该在这里。如果需要从远程终结点加载数据,这是实例化网络请求的好地方。

  componentDidMount() {
    // Note the api in the URL path, which means it is a valid endpoint
    axios.get('https://randomuser.me/api/?results=50')
      .then(response => {
        const data = response.data.results;
        this.setState({ data })
      })
      .catch(error => {
        console.log(error);
      })
  }

这里可以看到一个类似的问题:在fetchapi中启用CORS

 类似资料:
  • 我在多个线程上运行以下方法: HTTP请求是并行处理的吗?以这种方式发出请求是否会阻止其他线程发送请求,直到第一个响应到达?

  • 本文向大家介绍在React.js中发出HTTP请求,包括了在React.js中发出HTTP请求的使用技巧和注意事项,需要的朋友参考一下 在典型的Web应用程序中,客户端通过浏览器发出http请求,而服务器在响应中发送带有数据的html页面。 但是在单页应用程序(SPA)中,我们只有一页,每当客户端向服务器发出http请求时,它通常都会以json / xml格式的数据进行响应。 为了发出http请求

  • 问题内容: 我正在尝试发出POST请求以检索有关一本书的信息。这是返回HTTP代码的代码:302,已移动 当我从浏览器尝试时,可以从以下页面进行操作:http : //www.bkstr.com/webapp/wcs/stores/servlet/BuybackMaterialsView?langId=-1&catalogId=10001&storeId=10051&schoolStoreId=1

  • 并发请求处理 我创建了一个服务器,并使用s.listenandserve()来处理请求。据我所知,这些请求是同时送达的。我使用一个简单的处理程序来检查它: 我看到,如果我发送了几个请求,我将看到所有的“1”出现,只有在一秒钟后所有的“2”出现。但是如果删除Hibernate行,我会看到程序在完成前一个请求之前从不启动请求(输出为1 2 1 2 1 2...)。所以我不明白,如果它们是并发的还是不是

  • 我想在我的React应用程序上发出如下获取请求,无论是否使用Axios。但我不知道如何为此添加身份验证令牌。 你能帮帮我吗?

  • 问题内容: 我在iBooks中阅读了Apple的The Programming Language Swift ,但无法弄清楚如何在Swift中发出HTTP请求(例如cURL)。我需要导入Obj- C类还是只需要导入默认库?还是无法基于本机Swift代码发出HTTP请求? 问题答案: 您可以使用,而且还是因为你通常在Objective- C做。请注意,对于iOS 7.0和更高版本,它是首选。 使用