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
                });
            });
    });