【发布时间】:2013-09-11 12:17:44
【问题描述】:
我正在使用 ajax 发送数据:
$('article.work a').click(function(e){
var h = $(this).attr('href');
e.preventDefault();
$.ajax({
type: "POST",
url: h,
data: workItems,
success: function(data){
console.log('success');
window.location = h;
},
error: function(){
console.log('eror');
}
});
});
它发送正常,在检查萤火虫帖子标签后,它看起来像:
所以我相信它正在发送正确的数据。但是当我尝试通过 php 从 $_POST 中检索它时,我会这样做
<?php
print_r(json_decode($_POST["json"]));
?>;
什么都没有打印出来。
我做错了什么? 为什么 $_POST 无法识别我的数据,即使它已发送?
【问题讨论】:
-
你试过
<?php var_dump($_POST); ?>吗? -
@Marin Sagovac 是的,我尝试过 - 返回的值为
array(0) { } -
试试:
var_dump($_POST['json'], true)。这意味着这将导致关联数组,而不是对象。 -
请转到 Chrome 上的
Header标签,看看什么是方法,post/get? -
但我敢肯定,在成功处理程序中,您有
document.location = h;,这是一个重定向。