我是这个社区的新手,还是编程的初学者。我正在尝试使用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返回一个空数组。
任何帮助将不胜感激:)
答案 0 :(得分:0)
由于直接在浏览器中打开[...]test_parse.php
,因此不再存在POST数据,因此该数据为空。
POST数据是请求的一部分。如果您在浏览器中手动将其打开,则会执行GET请求。
如何查看var_export
?
例如,您可以使用Chrome或Firefox都有开发人员工具,这些工具可让您跟踪通过ajax执行的确切POST请求。
对于Chome:
F12
打开开发工具Network
现在执行您的Ajax发布请求,并在“网络”列表中找到它。通过单击请求,您将看到所需的所有详细信息。对您来说最重要的是Response