Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ReactJS表单提交此.props.history.push(';/downloads';)未链接到新页面_Reactjs_Django_Forms_Push_History - Fatal编程技术网

ReactJS表单提交此.props.history.push(';/downloads';)未链接到新页面

ReactJS表单提交此.props.history.push(';/downloads';)未链接到新页面,reactjs,django,forms,push,history,Reactjs,Django,Forms,Push,History,一旦用户在下面的函数中使用this.props.history.Push填写表单,我将尝试推送到新页面 handleSubmit = async event => { event.preventDefault() try { const res = await newEnquiry(this.state.formData) this.props.history.push('/downloads') console.log(res)

一旦用户在下面的函数中使用this.props.history.Push填写表单,我将尝试推送到新页面

  handleSubmit = async event => {
    event.preventDefault()
    try {
      const res = await newEnquiry(this.state.formData)
      this.props.history.push('/downloads')
      console.log(res)
    } catch (err) {
      console.log(err.response.data)
    }
  }
ReactJS表单在/contacts页面上工作正常,并将信息提交到我的Django后端,因此我知道它工作正常,但是我无法重定向到工作,它会向我发送此错误消息

在我的表单标签中,工作正常,所以我很确定我的表单没有问题

Api.js

const baseUrl = '/api'

export const newEnquiry = formData => {
  return axios.post(`${baseUrl}/enquiries/`, formData)
}
Views.py

class EnquiryListView(APIView):

    def get(self, _request):
        enquiries = Enquiries.objects.all() 
        serialized_enquiries = EnquirySerializer(enquiries, many=True)
        return Response(serialized_enquiries.data, status=status.HTTP_200_OK)

    def post(self, request):
        created_enquiry = EnquirySerializer(data=request.data)
        if created_enquiry.is_valid():
          created_enquiry.save()
          return Response(created_enquiry.data, status=status.HTTP_201_CREATED)
        return Response(created_enquiry.errors)
序列化程序.py

class EnquirySerializer(serializers.ModelSerializer):

      class Meta:
        model = Enquiries
        fields = '__all__'

对于此问题,当错误触发时,它无法读取
err.response.data
属性。如果没有错误,它将重定向您。在Django应用程序中,检查
错误处理程序
应该返回什么

快速回顾try/catch

试试看{
//如果一切都通过了,运行这个模块
}捕捉(错误){
//如果出了问题,运行这个模块
}

在这种情况下,一定要检查您的全部错误是什么。它可能是一个
404
或完全出乎意料的东西。

谢谢。我可以在Django应用程序中看到提交的数据,因此它已成功地将该信息放入。即使发生这种情况,它也不会重定向。你能为这个特定的路由粘贴Django应用程序的代码吗?确实出了问题,因为JavaScript没有无缘无故地给出错误。谢谢,我已经将我的代码添加到页面顶部的主代码中。这是您所需要的吗?当您在React中得到错误时。控制台中出现了什么错误?将
err.response.data
替换为
err
,这样我们就可以看到整个画面了。如果
.data
不可用,则可能是404或类似的内容。TypeError:无法读取Form.handleSubmit(Form.js:30)中未定义的属性“push”