Мой запрос POST автопилота работает в Postman, но не в моем приложении

однако, пытаясь использовать Autpilot , я получаю следующую ошибку:

Я получаю ошибку CORS, но я не думаю, что это так. У меня есть плагин CORS для Chrome, который обычно исправляет это во время разработки, однако он все еще не работает. Использование тех же данных в Postman приводит к успешному вызову.

Я попытался развернуть это на моем живом сервере разработки, и там это тоже не работает.

Вот мой AutopilotRegisterвиджет.

      import { ArrowUpIcon } from "@heroicons/react/solid";
import axios from "axios";
import React, { FormEvent, useState } from "react";
import userDataStore from "../../stores/UserState/UserStore";
import { Button } from "../UI/Button/Button";

const AutopilotRegisterInput = () => {
  const [email, setEmail] = useState("");
  const [loading, setLoading] = useState("idle");
  const userData = userDataStore((state) => state.userData);

  const onSubmit = async (e: FormEvent) => {
    e.preventDefault();
    setLoading("loading");
    const data = {
      "str::email": email,
    };
    if (userData) {
      data["str::first"] = userData?.name;
      data["str::last"] = userData?.surname;
    }
    console.log({
      people: [
        {
          fields: data,
        },
      ],
    });
    await axios({
      headers: {
        "x-api-key":
          myapikey,
        "Content-Type": "application/json",
      },
      method: "post",
      url: "https://api.ap3api.com/v1/person/merge",
      data: {
        people: [
          {
            fields: data,
          },
        ],
      },
    });
    setLoading("success");
  };

  return (
    <div className="flex flex-col p-0">
      <label className="text-gray-600">Sign up to our newsletter</label>
      <span
        className={`mt-4 flex w-1/4 items-center ${
          loading !== "idle" && "opacity-60"
        }`}
      >
        <input
          onChange={(e) => {
            setEmail(e.target.value);
          }}
          type="email"
          id="autopilot"
          className="flex-1 border-gray-600 bg-transparent text-white focus:border-white"
          placeholder="Email address"
          required
        />
        <Button
          type="button"
          onClick={onSubmit}
          disabled={loading !== "idle"}
          className="ml-2 w-min border border-gray-600 bg-transparent text-white duration-200 ease-in-out hover:border-white"
          variant="none"
        >
          {loading === "loading" && (
            <span className="flex items-center">
              <span className="mr-2 h-4 w-4 animate-pulse rounded-full bg-white" />
              Submitting
            </span>
          )}
          {loading === "idle" && <ArrowUpIcon className="w-6 fill-white" />}
          {loading === "success" && "Sent"}
        </Button>
      </span>
    </div>
  );
};

export default AutopilotRegisterInput;

0 ответов

Другие вопросы по тегам