Мой запрос 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;