Реакция собственных переменных POST выборки, не полученных на сервере - PullRequest
0 голосов
/ 25 октября 2019

Я пробовал разные способы с fetch или axios для POST на мой сервер, но кажется, что тело сообщения становится пустым. Мой начальный код такой. Так что соединение с сервером хорошее. Я настроил сервер так, чтобы он отвечал $ _ POST полученными переменными, но возвращаемое значение $ _POST пустое. Это происходит, когда я использую JSON.stringify на body . Я также пытался с FormData , и он отлично работает, но только на iOS . На моем Android устройстве и эмуляторе я получаю Возможное необработанное обещание: Ошибка сетевого запроса (и https, и http). И я хочу, чтобы он работал на iOS и Android. Так что до сих пор мне удавалось отправлять сообщения с formData только на iOS.

Какие-нибудь решения, которые работают на Android и iOS?

import FormData from "FormData";

export const login = (emailUsername, password) => {
  var formData = new FormData();
  formData.append("emailUsername", emailUsername);
  formData.append("password", password);

  return async dispatch => {
    const response = await fetch(
      "https://myserver.net/api/app/auth.php",
      {
        method: "POST",
        headers: {
          "Content-Type": "application/json"
        },
        body: JSON.stringify({
            emailUsername:emailUsername,
            password:password
        })
      }
    );

    if (!response.ok) {
      throw new Error("Something went wrong!");
    }

    const resData = await response.json();
    console.log(resData);
  };
}; 

1 Ответ

0 голосов
/ 25 октября 2019

Благодаря @bug я нашел решение. Я ожидал получить содержимое POST для моих переменных $ _POST или $ _REQUEST на моем сервере, но вместо этого мне пришлось получать их таким образом.

$post_data = json_decode(file_get_contents('php://input'));

...