Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.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
Javascript Can';t注册我的React本机应用程序-我的API有问题(可能?)_Javascript_Reactjs_Api_React Native - Fatal编程技术网

Javascript Can';t注册我的React本机应用程序-我的API有问题(可能?)

Javascript Can';t注册我的React本机应用程序-我的API有问题(可能?),javascript,reactjs,api,react-native,Javascript,Reactjs,Api,React Native,我正在尝试构建react本机应用程序,但似乎无法登录。当我尝试时,我得到了一个 “注册错误-出现问题”一般信息 我认为我的API不起作用,当我在postman上试用时,我得到了一个 404信息 URL应该很好,所以我不确定它是否与API后端中的设置有关,或者可能我正在以某种方式修改我的参数 以下是我的api.js代码: //const BASE_URL = "http://{ip address}:5000"; const BASE_URL = 'https://neighbor-hood.he

我正在尝试构建react本机应用程序,但似乎无法登录。当我尝试时,我得到了一个

“注册错误-出现问题”一般信息

我认为我的API不起作用,当我在postman上试用时,我得到了一个

404信息

URL应该很好,所以我不确定它是否与API后端中的设置有关,或者可能我正在以某种方式修改我的参数

以下是我的api.js代码:

//const BASE_URL = "http://{ip address}:5000";
const BASE_URL = 'https://neighbor-hood.herokuapp.com';

export const api = async (url, method, body = null, headers = {}) => {

try {
  const endPoint = BASE_URL.concat(url);
  const reqBody = body ? JSON.stringify(body) : null;


  const fetchParams = {method, headers};

  if((method === "POST" || method === "PUT") && !reqBody) {
      throw new Error("Request body required");
  }
  if(reqBody) {
      fetchParams.headers["Content-type"] = "application/json";
      fetchParams.body = reqBody;
  }
  const fetchResponse = await fetch(endPoint, fetchParams);

  let text = ''
  try{
    console.log("fetchResponse ", fetchResponse)
    text = await fetchResponse.text()
  } catch (err){
    console.log("Exception in turning text from response err", err)
  }

  return fetchResponse;
} catch (e) {
  console.log("Exception ", e)
  return e;
}
}
以下是导入api的my actions.js文件:

import {api} from "../service/api";

export const createNewUser = (payload) => {
return async (dispatch) => {

    try {
      dispatch({
        type: "CREATE_USER_LOADING"
      });

      const response = await api("/user/create", "POST", payload); 

      if(response.success) {
        dispatch({
            type: "CREAT_USER_SUCCESS"
        });
        dispatch({
            type: "AUTH_USER_SUCCESS",
            token: response.token
        });
        dispatch({
            type: "GET_USER_SUCCESS",
            payload: response.responseBody
        });

        return response;
      } else {
        throw response;
      }

    } catch (error) {
        dispatch({
            type: "CREAT_USER_FAIL",
            payload: error.responseBody
        });
        return error;
    }
  }
}

export const loginUser = (payload) => {
  return async (dispatch) => {

    try {
      dispatch({
        type: "LOGIN_USER_LOADING"
      });

      const response = await api("/user/login", "POST", payload);

      if(response.success) {
        dispatch({
            type: "LOGIN_USER_SUCCESS",
        });
        dispatch({
            type: "AUTH_USER_SUCCESS",
            token: response.token
        });
        dispatch({
            type: "GET_USER_SUCCESS",
            payload: response.responseBody
        });
        return response;
      } else {
        throw response;
      }

    } catch (error) {
        dispatch({
            type: "LOGIN_USER_FAIL",
            payload: error.responseBody
        });
        return error;
    }
  }
}

export const logoutUser = () => {
  return async (dispatch, getState) => {
    const state = getState();
    try {
        const {authReducer: {authData: {token}}} = state;
        console.log(token);

        const response = await api("/user/logout", "DELETE", payload);
        console.log(response);
        dispatch({
            type: "USER_LOGGED_OUT_SUCCESS"
        });
    } catch (e) {
        console.log(e);
    }
  }
}
这是我在控制台中得到的结果:

fetchResponse  Response {
"_bodyBlob": Blob {
"_data": Object {
  "blobId": "DC45F3C7-FB3E-4120-8B92-0AC798181824",
  "name": "create.html",
  "offset": 0,
  "size": 232,
  "type": "text/html",
  },
  },
  "_bodyInit": Blob {
  "_data": Object {
  "blobId": "DC45F3C7-FB3E-4120-8B92-0AC798181824",
  "name": "create.html",
  "offset": 0,
  "size": 232,
  "type": "text/html",
  },
  },
  "headers": Headers {
  "map": Object {
  "connection": "keep-alive",
  "content-length": "232",
  "content-type": "text/html",
  "date": "Thu, 03 Oct 2019 18:15:10 GMT",
  "server": "gunicorn/19.9.0",
  "via": "1.1 vegur",
  },
  },
 "ok": false,
 "status": 404,
 "statusText": undefined,
 "type": "default",
 "url": "https://neighbor-hood.herokuapp.com/user/create",
 }
Object {
"isError": true,
"isLoading": false,
"isSuccess": false,
}
我认为我的API不起作用,当我在postman上试用时,我收到一条404消息

这说明您有一些后端错误,因为即使您尝试从邮递员处获得404的
错误,这是来自后端的错误