gpt4 book ai didi

javascript - 将旧网站与 Square Checkout API 集成

转载 作者:行者123 更新时间:2023-11-29 17:45:41 24 4
gpt4 key购买 nike

请原谅我的天真,但我是一个进入现代时代的老开发人员。简而言之,我有一个用 ASP 编程的旧网站(我知道,我知道),需要使用 Square Checkout API 进行非常简单的付款处理。因此,我需要向 Square 发送 JSON 请求并处理其响应。我使用 Javascript 创建了一个非常非常精简的 JSON 请求,将其发送到 Square 以进行测试,但似乎无法处理响应“null”。我无法判断我是否只是没有得到响应和/或我的代码在接收 JSON 返回时是否不正确。就目前情况而言,我只是尝试接收响应并将其打印到屏幕上,然后添加代码来解析它,然后根据 API 文档重定向回 Square。我做错了什么??
[请注意,我之前已将 onload 参数包装到 request.response 但它没有触发。]

我的代码如下。任何和所有的帮助将由衷感谢!

谢谢你,-乔

     <html>

<script>

var obj = {
"idempotency_key": "00000000c",
"order":
{
"reference_id": "00000000c",
"line_items":
[{
"name": "My order",
"quantity": "1",
"base_price_money":
{
"amount": 15,
"currency": "USD"
}
}],

"taxes":
[{
"name": "Sales Tax",
"percentage": "8.5"
}]
},

"ask_for_shipping_address": false,
"merchant_support_email": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6b0804050d1e180e0f2b0612041c05180a061b070e18021f0e45080406" rel="noreferrer noopener nofollow">[email protected]</a>",

"redirect_url": "https://www.myownsamplesite.com/success.asp"
}

var myJSON = JSON.stringify(obj);

var request = new XMLHttpRequest();

request.open('POST', 'https://connect.squareup.com/v2/locations/{location_ID_removed_for_security}/checkouts', true);
request.setRequestHeader('Authorization', '{auth_token_removed_for_security}');
request.setRequestHeader('Accept','application/json');
request.setRequestHeader('Content-Type','application/json');
request.responseType = "json";
request.send(myJSON);

var returnJSON = request.response;
document.write(returnJSON);
</script>
</html>

最佳答案

您正在使用异步请求

request.open('POST', URL, true); // <- true means asynchronous

对于异步请求,您还应该定义

req.onreadystatechange = function () {
if (req.readyState == 4) {
if(req.status == 200)
console.log(req.responseText);
else
console.log("Error loading page\n");
}
};

document.write 只能在加载 html 时执行输出。所以有可能你的请求是可以的,但是你看不到。

您也可以尝试(仅用于调试)同步请求

request.open('POST', URL, false);

和 console.log 以查看浏览器控制台中的输出,或者使用这个代替 document.write

document.body.innerHTML += returnJSON

关于javascript - 将旧网站与 Square Checkout API 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50025799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com