2015-12-29 55 views
2

我有这样的代码,如何访问邮寄请求中发送的数据?

var items = '{"items":[{"Desc":"item1"}]}'; 
items = JSON.parse(items); 
var data = items; 
$.post("send.php", function(data) { 
    alert("Data Loaded: " + data); 
}); 

如何获得的物品?

这里是我的PHP代码,

<?php 
echo $_POST['items']; 
?> 

为$ _ POST [ '项目'];正确?

+0

你尝试和执行的代码? – Epodax

+0

print_r($ _POST ['items']);检查后的内容 –

+2

您没有将数据传递给php代码。试试这个''.post(“send.php”,{items:data},function(data)'' –

回答

0

试试这个

<?php 
    $data = json_decode(file_get_contents($_POST["items"]), true); 
    echo $data['items'][0]['Desc']; 
?> 
+0

为什么在这个评论中的负面点? – JMA

+0

这将工作,但它不是一个真正的问题的解决办法,它使错误的代码工作的一种方式.. – Svetoslav

0

您:

$.post("send.php", function(data) { 
    alert("Data Loaded: " + data); 
}); 

应该是:

$.post("send.php", data, function(data) { 
    alert("Data Loaded: " + data); 
}); 

第二个参数是你的POST数据应该是send.php

0

你需要在发布之前将JSON.stringify数据传递。您的$.post函数看起来不正确。

var items = {items: [{Desc:'item1'}]};//'{"items":[{"Desc":"item1"}]}'; 
items = JSON.stringify(items); 
var data = items; 
$.post("send.php", data) 
    .done(function(data) { 
    alert("Data Loaded: " + data); 
    }); 

http://api.jquery.com/jquery.post/