Ajax将数据发布到外部URL don';不接收回调javascript jquery
Ajax将数据发布到外部URL don';不接收回调javascript jquery,javascript,Javascript,$(文档).ready(函数() { $(“img”)。单击(函数() { $.post(”https://.co.za/payweb3/initiate.trans", { 付款门ID:“1029612100016”, 参考资料:“篮子”\ACDDDDA1-816E-48D7-A9DB-64ECAC97C76”, 金额:“33900”, 货币:“南非兰特”, 返回URL:“https://www./checkout.asp", 交易日期:“2019-10-21 9:17:9”, 地点:“恩扎”
$(文档).ready(函数()
{
$(“img”)。单击(函数()
{
$.post(”https://.co.za/payweb3/initiate.trans",
{
付款门ID:“1029612100016”,
参考资料:“篮子”\ACDDDDA1-816E-48D7-A9DB-64ECAC97C76”,
金额:“33900”,
货币:“南非兰特”,
返回URL:“https://www./checkout.asp",
交易日期:“2019-10-21 9:17:9”,
地点:“恩扎”,
国家:“ZAF”,
电子邮件:“dave@.co.za",
通知URL:“https://www./thanks.asp",
校验和:“6251A4 EDEC03BFCC86AD88112B10637D”
},
//回拨
功能(数据){
警报(“数据加载:”+数据);
//文件。表格1。提交();
});
});
});代码>
尝试使用done()和fail()处理程序。您的代码段中有几个错误:
您的HTML中没有img
,因此无法单击它。我把它改成了我代码片段中的一个按钮
您似乎有CORS问题-这意味着服务器认为不允许您请求尝试获取的资源。我把http://cors-anywhere.herokuapp.com/
在您的URL之前。请记住,它只是一个测试解决方案,而不是用于生产。您要么需要让提供者设置正确的头(因此接受您的请求),要么需要创建一个解决方案来解决这个问题。(因此,如果删除我放在那里的URL部分,代码片段将无法工作。)
您的请求数据有点不对劲,因为它返回了一条ERROR=data\u CHK消息-这不是常规消息,因此我不知道它的含义李>
$(文档).ready(函数(){
$('.button')。在('click',函数(e)上{
e、 预防默认值();
$.post(”https://cors-anywhere.herokuapp.com/https://.co.za/initiate.trans", {
付款门编号:“123456”,
参考资料:“篮子”\ACDDDDA1-816E-48D7-A9DB-64ECAC97C76”,
金额:“33900”,
货币:“南非兰特”,
返回URL:“https://www./checkout.asp",
交易日期:“2019-10-21 9:17:9”,
地点:“恩扎”,
国家:“ZAF”,
电子邮件:“dave@.co.za",
通知URL:“https://www./thanks.asp",
校验和:“6251A4 EDEC03BFCC86AD88112B10637D”
},
功能(数据){
console.log('数据:',数据)
})
})
});代码>
单击此处
开发者控制台中是否有任何错误
?检查开发者工具中网络选项卡中的“响应”。应该有你发布的地址和返回的数据,或者至少是错误状态。说真的,你为什么在这里共享所有这些敏感数据?我没有包括img,很抱歉,这是新的:(我将查看它发送回的错误。谢谢。问题,我如何访问回发返回的单个字符串变量?即PAY_REQUEST_ID from:PAYGATE_ID=1029612100016&PAY_REQUEST_ID=C7701B85-F479-DBB1-73BE-B1D57F17EAE0…如果您收到正确的字符串(您期望的),但它是上面的格式,您可以这样做。)(至少)两件事:将这个字符串解析为一个对象(by&和=),或者它看起来像一个GET查询字符串——您可以试着这样对待它并以这种方式解析它
$(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
});
});
});