Javascript Reactjs-TypeError:未能执行';获取';在';窗口';:无法分析*******:2000中的URL

Javascript Reactjs-TypeError:未能执行';获取';在';窗口';:无法分析*******:2000中的URL,javascript,node.js,reactjs,typescript,Javascript,Node.js,Reactjs,Typescript,这是我的reactjs代码,我在获取方面有问题。我使用nodejs创建了自己的api,并尝试使用get方法检索一些演示json。我对reactjs和nodejs使用相同的本地IP,是的,我使用不同的端口 import React, { Component } from 'react'; import ReactDOM from 'react-dom'; class App extends Component { constructor(props) { super(pr

这是我的reactjs代码,我在获取方面有问题。我使用nodejs创建了自己的api,并尝试使用get方法检索一些演示json。我对reactjs和nodejs使用相同的本地IP,是的,我使用不同的端口

import React, { Component } from 'react';
import ReactDOM from 'react-dom';

class App extends Component {
    constructor(props) {
        super(props);
        this.state = {
            error: null,
            isLoaded: false,
            items: []
        };
    }

    componentDidMount() {
        fetch(' ***.**.*.***:2000', {
            method: 'GET'
        })
            .then(res => res.json())
            .then(
                (result) => {
                    this.setState({
                        isLoaded: true,
                        items: result
                    });
                    console.log(result);
                },
                (error) => {
                    this.setState({
                        isLoaded: true,
                        error
                    });console.log(error)
                }
            )
    }
    render() {
            return (
                <ul>fdg
{/*                    {this.state.items.map(item => (
                        <li key={item.id}>
                            {item.name}
                        </li>
                    ))}*/}
                </ul>
            );

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

下面是我对代码所做的一些更新。我犯的第一个错误是在发送请求时没有将http://添加到我的IP地址。这样做之后,我又犯了一个错误

无法加载http://:2000/:对飞行前的响应 请求未通过访问控制检查:否 “Access Control Allow Origin”标头出现在请求的服务器上 资源。因此,不允许使用源代码“http://。:2000” 通道如果不透明的响应满足您的需要,请设置请求的 模式设置为“无cors”,以获取禁用cors的资源

这意味着我忘了添加cors,有关如何在express节点中安装和使用cors的信息,可以通过此链接获得


接受的答案是node express代码的示例。

如果有人仍然存在错误。 这是我的密码

const client = new ApolloClient({
  uri: 'http://localhost:4000:graphql',
});
我把网址弄错了。应该是这样的

const client = new ApolloClient({
  uri: 'http://localhost:4000/graphql',
});
如果控制台中的错误如下所示:

加载失败http://...:2000/: 对飞行前请求的响应不正确 通过访问控制检查:未显示“访问控制允许原点”标题 在请求的资源上显示。起源'http://...:2000”“是吗 因此不允许访问。如果一个不透明的回答符合你的需要, 将请求的模式设置为“无cors”以使用cors获取资源 残疾人

意味着您必须在根js中添加COR

const cors = require('cors');

const app = express();

// allow cors origin requests

app.use(cors());

希望我能帮忙。顺便说一句,这件事发生在我身上,所以也许我认为我可以帮助其他有这个错误的人。注意,祝你好运这里也提到过类似的问题@NirajPaudel没有类似的错误。这是无效的值,无法分析url。@ShivendraGupta第二个参数是什么看起来您已经混淆了错误消息所说的url是问题所在。如果没有看到重现问题的代码,我们就无法判断问题是什么。
const cors = require('cors');

const app = express();

// allow cors origin requests

app.use(cors());