返回完整页面代码的AJAX请求

时间:2013-08-23 作者:iamdannywilson

我对我刚刚接管的一个站点上的ajax调用有点问题。

我以前在其他网站上也使用过类似的调用,所以不确定这是插件限制还是冲突,但欢迎提出任何想法!

这个调用返回的是页面的全部内容,而不是我所期望的文章id。在ajax调用和“thisPost”var设置正确之前,我已经向js添加了一个警报。我尝试了多种不同的方法,但似乎都不允许我将post\\u id作为json对象返回。最终,返回的将是一个json对象,它的详细信息不仅仅是post\\u id,但在我让它工作之前,将其减少。

functions.php

function add_calendar_scripts(){
    if (is_page_template(\'template-eventsplanner.php\') ) {
        wp_register_script(\'calendar\', ( get_bloginfo(\'template_url\') . \'/js/calendar.js\'), array (\'jquery\'));
        wp_enqueue_script(\'calendar\');
        wp_localize_script( \'calendar\', \'MyAjax\', array( \'ajaxurl\' => admin_url( \'admin-ajax.php\' ) ) );
    }
}

add_action(\'wp_head\', \'add_calendar_scripts\');

function get_full_event_callback(){
    global $wpdb;
    $response = array();
    $post_id = intval($_POST[\'posted\']);
    $response[] = array(\'id\'=>$post_id);
    $result = json_encode($response);
    echo "post_id";
    die();
}
add_action( \'wp_ajax_nopriv_get_full_event\', \'get_full_event_callback\' );
add_action( \'wp_ajax_get_full_event\', \'get_full_event_callback\' );

calendar.js

jQuery(document).ready(function() {
    var container = jQuery(\'body\'),
        scrollTo = jQuery(\'.today\');
    container.animate({
        scrollTop: scrollTo.offset().top - container.offset().top + container.scrollTop() - 120
    });
    Shadowbox.init({
        skipSetup: true
    });
    jQuery(\'.event_box\').click( function(){
        var pretext = "<h1>Davis Track Hire Job Information</h1>";
        var thisPost= jQuery(this).data("event");
        var contents, pdf_button;
        var data = {
            action: \'get_full_event\',
            dataType: \'json\',
            posted: thisPost,
        };
        jQuery.post(MyAjax.ajax_url, data, function(response) {
            if(response!=0){            
                contents = pretext.concat(response);
                pdf_button = "<a href=\'#\'>Link to PDF to follow</a>";
                // open a welcome message as soon as the window loads
                Shadowbox.open({
                    content:    contents.concat(pdf_button),
                    player:     "html",
                    title:      "Event Details",
                    height:     600,
                    width:      500
                });
            }
        });
    });
});

1 个回复
SO网友:iamdannywilson

我的问题很简单;

jQuery.post(MyAjax.**ajax_url**, data, function(response) {
目的是:

jQuery.post(MyAjax.**ajaxurl**, data, function(response) {
问题已解决。。。很抱歉

结束

相关推荐

媒体库在添加到帖子时不显示图像(但通过AJAX检索图像信息)

将图像上载到帖子/页面时,媒体库不会显示任何图像(如果有),然后在尝试上载时“失败”(尽管图像实际上已上载)。我已经检查了文件权限(所有内容都由具有完全和适当访问权限的服务器所有;我已经尝试将其设置为777),并且停用了所有插件并尝试切换主题。这些都没有帮助。即使2013年处于活动状态,也会发生这种情况。奇怪的是,我可以在inspector中看到ajax请求,它正在检索有关图像的所有信息(从wp-admin/admin-ajax.php 请求),在data 对象所以wordpress应该知道它在那里。。。