javascript - 将 javascript POST 请求翻译成 Axios(使用 Stripe)
问题描述
我正在与 React.js 上的 Stripe(开发支付系统)合作,我正在尝试将以下代码转换为 React.js 并使用 axios 创建从后端(Django)接收 POST 请求的端点:
var handler = StripeCheckout.configure({
key: 'pk_test_zNq2YI8Spsyi81TknNujN36T',
image: 'https://stripe.com/img/documentation/checkout/marketplace.png',
locale: 'auto',
token: function(token) {
$.ajax({
type: "POST",
url: 'http://localhost:8000/subscriptions/codes/pay/',
data: {amount: amount, token: token},
});
}
});
我被困在此链接的第 4 步:Stripe for React,它解释了 POST 请求,但他们使用的是 Express,而我使用的是 Django。
解决方案
服务器端代码可以用任何语言/框架编写,只要它subscriptions/codes/pay/
为您的前端帖子提供端点即可。
在Django
中,您可以参考 [0] 处的文档,了解如何开始创建 REST API
一个非常简单的代码
定义你的路线
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('subscriptions/checkout', views.ElementView.as_view(), name="Stripe Checkout"),
path('subscriptions/codes/pay', views.charge, name='charge'),
]
在您的视图定义中
from django.http import HttpResponse
from django.views.decorators.http import require_http_methods
from django.views.decorators.csrf import csrf_exempt
@require_http_methods(["POST"])
@csrf_exempt
def charge(request):
# request.body will contain your data {amount: amount, token: token}
return HttpResponse(request.body)
同样,后端实现应该与语言/框架无关;只要您的后端提供有效的POST
API 允许您将 StripeToken 发回,它就可以工作
推荐阅读
- sql-server - 搜索电子邮件仅包含 X 字符的行
- java - 服务完成后如何禁用按钮?
- sql - DB2如何找到两个在同一日期活跃的用户
- postgresql - 将 Google CloudSQL Postgres 数据库连接到 Data Studio
- php - 致命错误:未捕获的 Facebook\WebDriver\Exception\UnknownServerException:等待驱动程序服务器以 ChromeDriver 和 Selenium 启动时超时
- shell - 搜索两个分号之间的字符串(值)并拆分为行
- android-fragments - 在格式化 Recyclerview 的数据时遇到问题
- hibernate - 如何从jpa entitymanager为psql“设置时区”?
- php - Rss 提要不返回来自数据库的所有行
- sql - SQL 比较列值