从AJAX POST到PHP的未定义索引?

时间:2019-03-27 13:05:04

标签: php json ajax

我是这个社区的新手,还是编程的初学者。我正在尝试使用AJAX将JSON数据发布到另一个PHP文件,而我的代码如下:

--- AJAX代码---

<?php session_start(); ?>

//other codes in between

      onApprove: function(data, actions) {
        return actions.order.capture().then(function(details) {
          //alert('Transaction completed by ' + details.payer.name.given_name);
          alert(data.orderID);

          // Call your server to save the transaction
          return fetch('/paypal-transaction-complete', {
            method: 'post',
            body: JSON.stringify({                    
              orderID: data.orderID
            })
          });

        });

        var orderid_data = data.orderID;

        $.ajax({
            url: "test_parse.php",
            type: "POST",
            data: {'order_ID': orderid_data },
            success: function(data){
                alert(data);
        });

--- PHP代码---

var_export($_POST);
echo $_POST["order_ID"];

我意识到我的$ _POST返回一个空数组。

任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

由于直接在浏览器中打开[...]test_parse.php,因此不再存在POST数据,因此该数据为空。

POST数据是请求的一部分。如果您在浏览器中手动将其打开,则会执行GET请求。

如何查看var_export

例如,您可以使用Chrome或Firefox都有开发人员工具,这些工具可让您跟踪通过ajax执行的确切POST请求。

对于Chome:

  • F12打开开发工具
  • 导航到Network

现在执行您的Ajax发布请求,并在“网络”列表中找到它。通过单击请求,您将看到所需的所有详细信息。对您来说最重要的是Response