json数组没有使用Javascript post方法发布到PHP

时间:2013-11-01 09:47:46

标签: javascript php jquery json

在视图中:

function updateData(that){


    f = new test();

for (var i = 0; i < dataContext.length; i++)
{
    f.test.push(new Person(dataContext[i].test, dataContext[i].test1, dataContext[i].Line1, dataContext[i].Id));

}

        $.post("<?php echo $base_url;?>index.php/controller/function/<?php echo $details['Id'];?>", { data: JSON.stringify(f) }, function (res) {
    });
}

现在在php函数中,函数:

function () {
    print_r($_POST);
}

返回一个空数组。

数据基本上在javascript向导中。好像当我点击“完成”时,页面不刷新自己。 $ _POST仅在首次加载页面时调用。

我对javascript很新,不确定我做错了什么,欢呼。

1 个答案:

答案 0 :(得分:0)

尝试JSON.stringify(that)代替JSON.stringify(f)赞,

function updateData(that){
    var url="<?php echo $base_url;?>index.php/controller/function/<?php echo $details['Id'];?>";
    $.post(url, { data: JSON.stringify(that) },function (res) {
        alert(res);
    });
}

已更新如果已定义f,请尝试使用

function updateData(that){
    var url="<?php echo $base_url;?>index.php/controller/function/<?php echo $details['Id'];?>";
    $.post(url, { data: JSON.stringify(f) },function (res) {
        alert(res);
    });
}

some name提供给您的php function或致电表单jquery,

// call updateData function in your controller
var url="<?php echo $base_url;?>index.php/controller/updateData/<?php echo $details['Id'];?>";

updateData中创建功能controller

function updateData($id=''){
    print_r($_POST);
}