React:表单值未通过

时间:2017-12-27 15:24:07

标签: javascript reactjs

通过React提交表单时,我收到此错误:

  

无法加载http://127.0.0.1:8000/get/citys:否   请求中存在“Access-Control-Allow-Origin”标头   资源。因此不允许来源“http://localhost:3001”   访问。

     

TypeError:无法读取未定义的属性'then'

我的表单输入值:

 <Field name="city" 
        value={this.state.value}
        onChange={this.handleChange}
        isloading={isLoadingExternally}
        options={this.state.cities}  
        component="select">               
 </Field>

JS:

componentDidMount() {
    try{
      isLoadingExternally = false;
      GetCitys().then(res => {
        this.setState({cities: res.data.name}, () => {
           isLoadingExternally = true;
        })
        console.log("hello", this.state.cities)
      })
    } catch(err) {
       console.log(err);
    }
}

这是我期望通过JSON Axios做出的回应:

  [{"id":1,"name":"fx"},{"id":2,"name":"Plol"},{"id":3,"name":"dddBrava"},{"id":4,"name":"lfn"},{"id":5,"name":"ls"}]

2 个答案:

答案 0 :(得分:0)

似乎你得到了错误。我的意思是访问不同端口站点上的不同端口站点。如果要解决此问题,可以在服务器站点上启用cors,或者确保客户端和服务器都在同一端口上工作。之后,您将无法从服务器返回undefined,错误将消失。

答案 1 :(得分:0)

我修复了使用此命令行将laravel(Backend)public公开的错误。

- &GT;

php -S 0.0.0.0:8888 -t public

之后我更改了客户端的URL。