使用ajax时,wordpress插件中出现500错误

时间:2012-09-19 12:51:40

标签: jquery ajax wordpress

我在这里搜索了一段时间试图找到一个类似的实例,但我没有用。

反正,

我是ajax的新手,所以请光临我。

我正在为我的wordpress网站创建一个插件,当选择框被更改时,它会通过调用wordpress数据库来更改下面的选择选项。

对于我的生活,我无法让它发挥作用。

这是wordpress编码:

function ubl_ug_load_ajax(){
    if(isset($_GET['page']) && $_GET['page'] == 'ubl-unlimited-galleries-image'){

        wp_enqueue_script('ubl-ajax', plugin_dir_url(__FILE__) . 'js/ubl-ajax.js', array('jquery'));

    } else {
        return;
    }
}

add_action('admin_enqueue_scripts','ubl_ug_load_ajax');

function ubl_uimages_page(){

global $wpdb;

    // GET CATEGORIES
    $getcatsforimages = $wpdb->get_results("SELECT id, galleryname FROM ubl_galleries");

    if($getcatsforimages){

        // ADD MODE
        if(!isset($_GET['ublmode'])){

            $ublerrors = array();

            $galleryname = '';
            $gallerycats = '';

            if(isset($_POST['issent'])){

                // do something

            }

            $output = '

                <style>
                h1{padding:0px 0px 10px 0px;margin:0px;}
                h3{padding:40px 0px 10px 0px;margin:0px;}
                .wrap{margin:0px;padding:15px;width:50%;}
                .widget .widget-top, .postbox h3, .stuffbox h3{padding:5px 10px; color:#1e1e1e}
                .widget, #widget-list .widget-top, .postbox, #titlediv, #poststuff .postarea, .stuffbox{
                    background-color:white;
                }
                .postbox .inside, .stuffbox .inside{padding:20px;background-color:whiteSmoke;}
                .red{color:red;}
                .green{color:green;}
                .regular-text{margin-bottom:20px;}
                h4{margin:0px;padding:8px 0px 3px 0px;}
                .inside > p{padding:3px;margin:0px;}
                hr{border-color:white;background-color:white;}
                .stuffbox img{max-width:300px;height:auto;}
                </style>

            ';

            $output .= '<div class="wrap">';

            $output .= '<h1>Add New Gallery</h1>';
            $output .= '<form method="post" action="" enctype="multipart/form-data">';
            $output .= '<input name="issent" type="hidden" value="1" />';
            $output .= '<div class="stuffbox"><h3><label>Gallery Details</label></h3><div class="inside">';
            $output .= '<h4>Gallery Name</h4><p>';
            $output .= '<select name="galleryname" class="galleryname">';
            foreach($getcatsforimages as $getc){
            $output .= '<option value="'.$getc->id.'">'.$getc->galleryname.'</option>';
            }
            $output .= '</select>';
            $output .= '<hr>';
            $output .= '<h4>Gallery Categories &amp Slude</h4><p class="gallerycats"></p>';
            $output .= '<p>Please Choose A Category</p>';
            $output .= '</div></div>';
            $output .= '</form>';
            $output .= '</div>';

            echo $output;

        }

    } else { ?>
    <div class="wrap"><h1>Please Create Galleries First</h1></div>
    <?php }

}

这是ajax文件编码:

jQuery(document).ready(function() {

        jQuery(".galleryname").change(function(){

            var ubl_get_results=jQuery(this).val();
            var url = '../wp-content/plugins/ul/ajax.php'

            data = {
                 ajaxid: ubl_get_results,
                };

            jQuery.post(url, data , function (data) {

                //jQuery('.gallerycats').html(response);

                alert(data);

            });

        return false;
        });

});

然后这里是ajax发布的php文件:

if(isset($_REQUEST['ajaxid'])){

    echo 'this works';

} else {

    echo 'Could Not Do This';

}

0 个答案:

没有答案