代码之家  ›  专栏  ›  技术社区  ›  Eric Mitjans

在PHP中从异步HTTP POST调用获取参数

  •  -2
  • Eric Mitjans  · 技术社区  · 8 年前

    我正在尝试将一个来自银行的虚拟支付系统集成到我的网站中。

    银行系统对我定义的URL(一个PHP文档)进行异步HTTP调用,然后从那里我尝试获取订单ID并将订单标记为已付款。

    我面临的问题是,仅通过HTTP调用,我似乎无法获取此ID参数,因为预期结果(couchdb documnt标记为payed)不存在。

    但是,当我浏览到我的文档并在其后面粘贴HTTP调用的内容时,它就会工作,如下所示:

    http://example.com/crud.php?Ds_SignatureVersion=xxx&Ds_MerchantParameters=xxx&Ds_Signature=xxx

    在我的 crud.php 我执行以下操作:

    $test = $_GET['Ds_MerchantParameters'];
    

    为什么我在浏览URL时能够获得此参数,而在银行系统进行HTTP POST调用时却不能?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Karsten Koop    8 年前

    如果银行系统向您的站点发出POST请求,则传递的参数不在 $_GET ,但在 $_POST . 所以改变

    $test = $_GET['Ds_MerchantParameters'];
    

    $test = $_POST['Ds_MerchantParameters'];
    

    如果希望能够对页面使用GET和POST请求,还可以使用$\u请求:

    $test = $_REQUEST['Ds_MerchantParameters'];
    
    推荐文章