Ax ios POST-запросам не удается использовать прокси - PullRequest
0 голосов
/ 16 февраля 2020

В настоящее время я тестирую конечные точки на моем сервере через клиент React, используя Ax ios. В моем пакете настроен прокси (http://localhost:8080). JSON для моего клиента. Все мои запросы GET успешны. С другой стороны, все мои POST-запросы не могут использовать прокси, предоставленный в пакете. JSON, вместо этого он использует (http://localhost:3000).

См. Код ниже

Компонент входа

function Login{

      const handleSubmit = (e) =>{
            e.preventDefault();

            let email = e.target.email.value;
            let password = e.target.password.value;

            axios.post("/user/login", {email:email, password:password})
           .then((res) => console.log(res))
           .catch((err) => console.log(err));
           }


      return(
       <div className="form login">
        <h1>Login</h1>

        <form onSubmit={handleSubmit}>
            <input type="email" placeholder="Email" name="email"/>
            <input type="password" placeholder="Password" name="password"/>
            <input type="submit"/>
        </form>
        </div>
       );
}

Это решение, которое я попробовал после неудачной исходной попытки

Предыдущий handleSubmit ()

const handleSubmit = (e) =>{

      try{
            let res = await axios({
                method: "post",
                url: "/user/login",
                data: {},
                proxy:{
                    host: "localhost",
                    port: "8080"
                }
            })

            console.log(res);

        }
        catch(err){
            console.log(err)
        }

}

Это решение, похоже, также направляет запросы на http://localhost:3000

Client proxy failure screenshot

Пакет. JSON

{
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "proxy": "http://localhost:8080",
  "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.4.0",
    "@testing-library/user-event": "^7.2.1",
    "axios": "^0.19.2",
    "react": "^16.12.0",
    "react-dom": "^16.12.0",
    "react-router-dom": "^5.1.2",
    "react-scripts": "3.3.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

Есть какие-нибудь идеи относительно того, как я могу исправить это? Спасибо за любые предложения.

1 Ответ

1 голос
/ 16 февраля 2020

XMLHttpRequest не предоставляет API для настройки прокси-сервера, поэтому параметр конфигурации не используется с xhr адаптером . Он поддерживается только http адаптером , который используется при запуске Ax ios в Node.js.

. Если вы хотите использовать традиционный прокси-сервер, вам нужно вручную изменить конфигурация браузера (или ОС, если браузер забирает его оттуда).

...