0

如果我使用 ajax 像这样发布:

$('a.publish').live('click', function () {
    var id = $(this).attr('id').replace('item_', '');
    var table= $(this).attr('rel');
    $.ajax({
        type: 'post',
        url: "",
        data: 'publish=' + id + '&table=' + table,
        success: function () {
            $('#published_' + id).html(data);
            count();
        }
    });
    return false;
});

如何访问 post 变量table

我能够提取id通过:

if (isset($_POST['publish'])) {
    $id = intval($_POST['publish']);
    Nemesis::update("projects", "published = '1'", "id = '{$id}'");
    print "Active";
}
4

2 回答 2

1
$_POST['table']

将返回表变量。

如果这不起作用,请在提交之前检查该值是否正确。尝试console.log(table)和/或检查 firebug/chrome 开发工具中的网络选项卡,以查看您发送了哪些协议。

查看 HTTP 标头以查看您提交给服务器的值。如果表为空,则错误在 jquery 中。


服务器端调试可能也在做类似var_dump($_POST['table']) Try that 之类的事情。


但现在我遇到的问题是让回声与 $('#published_' + id).html(data);

在函数中传递数据。像这样:

success: function (data) { $('#published_' + id).html(data); count(); }

于 2013-07-29T15:50:54.057 回答
0

访问变量,如“发布”,您可以编写代码

$table = $_POST['table'] die echo "var table is not available"

您可以通过 $_GET[''] $_POST[''] 和 $_SERVER[''] 访问环境变量

于 2013-07-29T16:03:10.737 回答