javascript - ajax post 调用后 $_POST 为空

标签 javascript php wordpress post

所以我使用这个ajax帖子的目的是在wordpress循环中使用一些JS变量,这样我就可以根据ajax帖子中的变量来调用自定义循环。

下面是ajax调用。

$('.collection-more').click(function() {
    $.ajax({
        type: 'post',
        url: 'http://tmet.dev/wp-content/themes/muban-trust/single-collection.php',
        data: { "test" : "hello" },
        success: function( data ) {
            console.log( data );
        }
    });
})

目前我正在发送硬编码数据。

在我的 single-collection.php 页面中:

    <?php 
    print_r($_POST);


    if(isset($POST['filters[Artist]']))
    {
        $filters_obj = $_POST['filters[Artist]'];
        $filters_array = json_decode($filters_obj, TRUE);

        for($i = 0; $i < sizeof($filters_array); $i++)
        {
            echo '<p>h'.$obj->name.'</p>';
        }
    }
?>

我使用 print_r 只是为了调试问题,目前它返回:

数组()

问题是我无法访问 single-collection.php 中名为“test”的 Json 对象

如何访问它?

提前致谢!

编辑: Firebug 的屏幕截图 enter image description here

最佳答案

从ajax到php: 这是传统的方式

var payload = {
      smth1: "name",
      smth2: "age"
    };

然后调用ajax时

$.ajax({
            url: "somephp.php",
            type: 'POST',
            data: payload,
            dataType: 'json',
            crossDomain: true
            })

从 phpPost 到 javascript:

获取post参数的正确方法:

$fields = $_POST['fields'];
$usernameGiven = $fields['smth1'];
$passwordGiven = $fields['smth2'];

以及将 smthn 返回给 javascript 时

$result = array(
             "something" => "something",
             "something2" => $something2

         );

         echo json_encode($result);

关于javascript - ajax post 调用后 $_POST 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24953991/

相关文章:

php - 在 Laravel 中计算后从 mysql 表检索 id 时出现问题

php - 使用 php 和 mysql 的多个下拉列表

php - Woocommerce wc_price 过滤器使用

javascript - 无法删除空格(在使用 lettering.js 拆分 div 之后)

javascript - 无限制随机化数组,然后在 Javascript 中将其平均分割

javascript - package.json "latest"版本是否包含测试版?

php - Shell - 解压带重音的文件夹

html - 如何排除 wp_nav_menu( array(?

php - 在 wordpress 中更改小部件内的默认 HTML 标记

javascript - WordPress wp_enqueue_script 不工作