Серверные функции Post-запроса Firebase Реагируют На Действия Формы

0

Вопрос

Когда я нажимаю кнопку на интерфейсе, меня направляют на локальный хост/создать учетную запись, размещенную на хостинге, но отображается "Не удается ОПУБЛИКОВАТЬ". Почтальон, однако, показывает, что конечная точка работает просто отлично.

Не уверен, что я здесь ошибся.

Внутренняя конечная точка в папке функций Firebase

app.post("/create-account-hosted", async (req, res) => {
  try {
  var account = await stripe.accounts.create({
    type: "custom",
    requested_capabilities: ["card_payments", "transfers"],
    business_type: 'company',
    
  })

  var accountLink = await stripe.accountLinks.create({
    account: account.id,
    success_url: "https://example.com",
    failure_url: "https://example.com",
    type: "custom_account_verification", 
    collect: "eventually_due",
  });
} catch (err) {
  console.log(err);
  res.status(400);
  res.send({ error: err });
  return;
}

res.send(accountLink.url)

Форма кода переднего плана ОТПРАВЛЯЕТ запрос на перенаправление на стороне сервера.

<div className="beASeller">
                    <form
                        type="submit"
                        action="/create-account-hosted"
                        method="POST"
                        class="stripe-connect white"
                    >
                        <button> Seller Signup</button>
                    </form>
                </div>
2
1

Поскольку мой почтальон запрашивал саму функцию Firebase, например https://uscentral1.myfunction.cloudfunctions.net/create-account-hosted, Мне нужно было сделать то же самое с моим исходным кодом.

<div className="beASeller">
         <button                        
         action="https://uscentral1.myfunction.cloudfunctions.net/create-account-hosted/"
         class="stripe-connect white"
         >
         </button>
</div>
2021-11-24 07:29:43
1

Вы также можете использовать HTTP-клиент. Для этого случая мы будем использовать Axios.

Существует множество дополнительных опций, которыми вы можете воспользоваться при оформлении запроса с помощью Axios, но вот наиболее распространенные из них:

  • Базовый URL - если вы укажете базовый URL-адрес, он будет добавлен к любому используемому вами относительному URL-адресу.
  • заголовки - объект пар ключ/значение, отправляемый в качестве заголовков.
  • параметры - объект пар ключ/значение, который будет сериализован и добавлен к URL-адресу в виде строки запроса.
  • Тип ответа - Если вы ожидаете ответа в формате, отличном от JSON, вы можете задать этому свойству значение ArrayBuffer, большой двоичный объект, документ, текст или поток.
  • аутентификация: при передаче объекта с полями имени пользователя и пароля эти учетные данные будут использоваться для базовой аутентификации HTTP по запросу.

Вы можете обратиться сюда для настройки Axios в вашем проекте.

После установки теперь вы можете использовать Axios. Пожалуйста, смотрите пример кода ниже:

import axios from 'axios';

axios.post('https://uscentral1.myfunction.cloudfunctions.net/create-account-hosted', {"body":data}, {
    headers: {
    'Content-Type': 'application/json'
    'Authorization': 'Bearer ' + token
    }
  }
)

Пожалуйста, также проверьте шаги 2-4 в этой теме и посмотрите, поможет ли это также.

2021-11-24 10:14:31

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................