Ajax 将数据发布到外部 URL 不接收回调 javascript jquery



$(document).ready(function()
{
$("img").click(function()
{
$.post("https://.co.za/payweb3/initiate.trans",
{
PAYGATE_ID: "1029612100016",
REFERENCE: "Basket_ACDDDDA1-816E-48D7-A9DB-64ECAC97C76",
AMOUNT: "33900",
CURRENCY: "ZAR",
RETURN_URL: "https://www./checkout.asp",
TRANSACTION_DATE: "2019-10-21 9:17:9",
LOCALE: "en-za",
COUNTRY: "ZAF",
EMAIL: "dave@.co.za",
NOTIFY_URL: "https://www./thanks.asp",
CHECKSUM: "6251a4edec03bfcc86ad88112b10637d"
},
//Callback
function(data) {
alert( "Data Loaded: " + data );
//document.form1.submit();
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

我向外部 URL 执行 ajax 帖子,但没有收到 HTTP 帖子回复。我以前从未这样做过,所以我有点迷茫。

我适应了W3学校的功能,但有点黑暗...... 这是来自 URL 的预期回发数据,我没有收到它。请帮忙。

PAYGATE_ID=1029612100016&PAY_REQUEST_ID=C7701B85-F479-DBB1-73BE-B1D57F17EAE0&REFERENCE=Basket_ACDDDDA1-816E-48D7-A9DB-64ECAC97C76&CHECKSUM=40c4daefb5e7d1eef6fa6a085789b89c

回调不起作用,不确定我在这里做什么?

$(document).ready(function()
{
$("img").click(function()
{
$.post("https://my.paymentgateway.com/some/endpoint",
{
PAYGATE_ID: "123456",
REFERENCE: "BASKET_REF_123",
AMOUNT: "33900",
CURRENCY: "ZAR",
RETURN_URL: "https://www.my.shop.com/checkout.asp",
TRANSACTION_DATE: "2019-10-21 9:17:9",
LOCALE: "en-za",
COUNTRY: "ZAF",
EMAIL: "dave@my.show.com",
NOTIFY_URL: "https://www.my.shop.com/thanks.asp",
CHECKSUM: "6251a4edec03bfcc86ad88112b10637d"
}).done((data)=> {
// Success handling
}).fail((xhr, status, error) => {
// Error handling
});
});
});

尝试使用 done(( 和 fail(( 处理器。

您的代码段中有几个错误:

  1. 您的 HTML 中没有img,因此无法单击它。我将其更改为片段中的按钮。

  2. 您似乎有CORS问题 - 这意味着服务器认为您不被允许请求您尝试获取的资源。我把http://cors-anywhere.herokuapp.com/放在你的URL之前。请记住,它只是一个测试解决方案,不适用于生产。您必须让提供程序设置正确的标头(因此接受您的请求(,或者您需要创建一个解决此问题的解决方案。(因此,如果您删除我放在那里的 URL 部分,该代码段将不起作用。

  3. 您的请求数据有些不对劲,因为它返回ERROR=DATA_CHK消息 - 这不是常规的,所以我不知道它是什么意思或暗示。

$(document).ready(function() {
$('.button').on('click', function(e) {
e.preventDefault();
$.post("https://cors-anywhere.herokuapp.com/https://.co.za/initiate.trans", {
PAYGATE_ID: "123456",
REFERENCE: "Basket_ACDDDDA1-816E-48D7-A9DB-64ECAC97C76",
AMOUNT: "33900",
CURRENCY: "ZAR",
RETURN_URL: "https://www./checkout.asp",
TRANSACTION_DATE: "2019-10-21 9:17:9",
LOCALE: "en-za",
COUNTRY: "ZAF",
EMAIL: "dave@.co.za",
NOTIFY_URL: "https://www./thanks.asp",
CHECKSUM: "6251a4edec03bfcc86ad88112b10637d"
},
function(data) {
console.log('data:', data)
})
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<button class="button">CLICK HERE</button>

有关CORS的更多信息:

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

https://www.codecademy.com/articles/what-is-cors

最新更新