0

在我的自定义主题文件夹上的 function.php 文件中,我有这个:

function getPrices(){
    $price = get_post_meta($_REQUEST["post_id"], "price_one", true);
    $results['price'] = $price;
    $results = json_encode($results);
    die($results);
}

    add_action('wp_ajax_getPrices', 'getPrices');
    add_action('wp_ajax_nopriv_getPrices', 'getPrices');

在 js 文件中我有这个:

$('ul.people_adult li').click(function(){
var post_id = $("#post_id").val();
                jQuery.ajax({
                    type:"POST",
                    dataType : "json"
                    url: "http://localhost/wordpress/wp-admin/admin-ajax.php",
                    data: {
                        action: 'getPrices',
                        post_id: post_id
                    },
                    complete:function(data){
                        console.log(data.price);
                    }
                    });
});

当我单击以下错误消息时: POST http://localhost/wp-admin/admin-ajax.php 404 (Not Found)

此外,当我提醒返回的数据时,它会显示对象 Object,但是当我将其记录到控制台时,它会显示响应页面的所有 html 代码。

有任何想法吗 ??

谢谢!

4

1 回答 1

2

最大的问题是我提供的 URL 错误,并且由于某种原因直到 Jackson 和 cointilt 提到它时才注意到。

我的 function.php 文件中也有拼写错误。

这是我的问题的答案。

function getPrices(){
    $the_id = $_REQUEST["post_id"];
    $results[] = get_post_meta($the_id, "price_one", true);
    $results[] = get_post_meta($the_id, "price_two", true);
    $results[] = get_post_meta($the_id, "price_three", true);
    $results[] = get_post_meta($the_id, "price_four", true);
    $results[] = get_post_meta($the_id, "price_five", true);
    $results[] = get_post_meta($the_id, "price_six", true);
    $results[] = get_post_meta($the_id, "price_seven", true);
    $results[] = get_post_meta($the_id, "price_eight", true);
    $results = json_encode($results);
    die($results);
}
add_action('wp_ajax_getPrices', 'getPrices');
add_action('wp_ajax_nopriv_getPrices', 'getPrices');

并在 js 文件上

$('ul.people_adult li').click(function(){
    var post_id = $("#post_id").val();
                        jQuery.ajax({
                            type:"POST",
                            dataType : "json",
                            url: "http://localhost/wordpress/wp-admin/admin-ajax.php",
                            data: {
                                action: 'getPrices',
                                post_id: post_id
                            },
                            success:function(response){
                                $("#price_est_person").html(response[0]);
/*Do some stuff with response[1], response[2 etc]*/
                            }
                            });
    });
于 2013-04-23T14:17:56.377 回答