0

我的 JS 正在创建如下所示的对象:

在此处输入图像描述

现在我想将它发布到 PHP 页面。

我尝试的是这样的:

var json = JSON.stringify(item_contents);
console.log(json);

jQ.post(
    "http://somedomain.com/headlines/save_items/", 
    json,
    function(data){
        console.log("Data: ");
        console.log(data);
        alert("first success");
    },
    "json"
)
.success(function() { 
    alert("second success"); 
})
.error(function(data) { 
    alert("error: "); 
    console.log(data);
})  
.complete(function() { 
    alert("complete"); 
});

...并且输出始终是错误的。我正在使用 cakePHP .. 有什么帮助吗?蒂亚!!!

编辑:

目前,我的 php 页面上的内容是:

echo print_r($_POST);

我得到一个空白或未定义的输出..

4

2 回答 2

1

在您的 post 函数中使用 json 文字对象发布您的 json 字符串

像 { content: json }, -- 并在 $_POST 中获取这个“内容”

jQ.post(
    "http://somedomain.com/save_items.php", 
    { content: json }, 
    function(data){

并在 PHP 中尝试

echo print_r($_POST["content"]);
于 2012-10-31T06:07:16.917 回答
0

如果您真的想发布 json,请设置变量名称。

jQ.post(
    "http://somedomain.com/save_items.php", 
    {json: json}, //<--HERE
    function(data){
        console.log("Data: ");
        console.log(data);
        alert("first success");
    },
    "json"
)
.success(function() { 
    alert("second success"); 
})
.error(function(data) { 
    alert("error: "); 
    console.log(data);
})  
.complete(function() { 
    alert("complete"); 
});

在php中使用echo $_POST['json'];

您也可能只想发布对象本身:

jQ.post(url,object,function(data)
           {
                 console.log('success',data);
            }
           ,"json")
            .error(function(data) { 
                console.log('error',data);
             });

在 php 中使用echo json_encode($_POST); 确保somedomain.com与 js 相同。

于 2012-10-31T05:58:19.557 回答