未定义'$'no-undef reactjs ajaxcall

时间:2019-01-17 11:49:18

标签: javascript reactjs

我试图基于此answer以表格格式显示json数据。每次运行此命令时,都会显示此错误Line 15: '$' is not defined no-undef。我在第15行开始ajax调用。我尝试在代码顶部添加const $ = window.$;,但这并不能解决任何问题。

class App extends React.Component {
    constructor(){
      super() 
        this.state = {
          data: []
        }
      
    }
    componentDidMount() {
      $.ajax({
         url: "http://www.mocky.io/v2/5c3f2a6c3500004d00ec3789",
         type: "GET",
         dataType: 'json',
         ContentType: 'application/json',
         success: function(data) {
           
           this.setState({data: data});
         }.bind(this),
         error: function(jqXHR) {
           console.log(jqXHR);
         }.bind(this)
      })
    }
    render() {
      
          
      return (
        <table>
        <tbody>{this.state.data.map(function(item, key) {
               
                 return (
                    <tr key = {key}>
                        <td>{item.name}</td>
                        <td>{item.post}</td>
                        <td>{item.country}</td>
                        <td>{item.contact}</td>
                    </tr>
                  )
               
               })}</tbody>
         </table>
      )
    }
  }
  


ReactDOM.render(<App />, document.getElementById('root'));

对错误有帮助吗?

3 个答案:

答案 0 :(得分:1)

您需要包括jQuery库。

import $ from 'jquery'; 

确保已安装jquery软件包。

答案 1 :(得分:1)

您甚至可能不需要在React中使用jQuery,浏览器公开的fetch API可以正常工作。与其安装整个jQuery库来仅处理Ajax请求,不如使用axios来代替,我认为它比jQuery轻巧。

答案 2 :(得分:0)

使用create-react-app时,首先您需要安装Jquery软件包。

sudo npm install jquery --save 

现在在JS文件中,您可以使用jquery

import $ from 'jquery';