javascript - 将 fetch 转换为 ajax 以用于条带集成
问题描述
我在移动谷歌浏览器上获取问题。我想尝试将其转换为 ajax。我将它用于 php 中的条带实现。这是我使用 fetch 所做的:
var createCheckoutSession = function(planId) {
var plan = {
plan_id: planId
};
var data = new FormData();
// we call the create my session page by providing a Plan ID which in turn will return a session object whose ID will be useful later on to redirect to checkout.
data.append( "plan", JSON.stringify( plan ) );
return fetch("/create-my-session", {
method: "POST",
body: data
}).then(function(result) {
console.log(result);
return result.json();
});
};
在创建我的会话页面我有这个代码:
$stripeService = new StripeService();
$plan = json_decode($_POST["plan"]);
$planId = $plan->plan_id;
$session = $stripeService->createCheckoutSession($planId);
echo json_encode($session);
上面的代码在单击此按钮时执行:
$('#subscribe').on('click',function(e){
createCheckoutSession(MyChosenPlanID).then(function(data) {
stripe.redirectToCheckout({
//we redirect the user to a checkout page hosted by stripe that uses the session ID returned above
sessionId: data.id
}).then(handleResult);
});
});
到目前为止,我在转换为 ajax 方面所做的工作:
var createCheckoutSession = function(planId) {
var plan = {
plan_id: planId
};
var datastream = new FormData();
datastream.append( "plan", JSON.stringify( plan ) );
$.ajax({
type: "POST",
url: "/create-my-session",
data: {
'info': datastream,
},
dataType: 'json',
success: function(data){
var sessionobj = data;
},
error:function(response)
{
console.log("Data sending failed");
console.log(response);
}
});
return sessionobj ;
}).then(function(result) {
console.log(result);
return result.json();
});
};
我保持一切原样。
解决方案
推荐阅读
- vb.net - 如何仅通过选择并查看标签中的结果来计算列表框中的选定项目?
- python - 如何在 pyspark 中读取大的 zip 文件
- dart - Flutter - SocketException:连接失败(操作系统错误:网络无法访问,errno = 101)
- javascript - Kendo Grid 过滤器菜单可在使用代码应用过滤器时检查过滤值
- c# - 在应用程序运行时在同一屏幕上显示(弹出)消息框
- javascript - 如何检测是否在 Promise 的 catch 块中
- c - 为什么 ”;” 不用于 for 循环中的 i++。不是所有的东西都必须以“;”结尾吗?
- android - 如何使用 JSON 结构实现登录系统?
- php - 如何使用faker dateTimeBetween 创建虚假事件?
- python - 为什么依赖 numba jitt'ed 函数的排序很重要?