1

i want to call a function using wordpress ajax and i have done a code for that also. but when i fire a ajax call it always retrun -1. i dont know what is the problem can any body help me to solve.

Here is my code

function.php

 function my_AJAX_processing_function(){
   //echo  $getLetter = $_GET['post_id'];
   print_r($_GET);
   exit;
    global $wpdb;
    global $post;

    $result = $wpdb->get_results('SELECT * FROM wp_posts where post_title LIKE "'.$getLetter.'%" AND post_status = "publish" AND post_type="post"');
    while($row = $result)
    {
      echo '<a href="' . $row["guid"] . '">' . $row['post_title'] . '</a><br>';
    }
    die();
}
add_action('wp_ajax_nopriv_download_track_resources', 'my_AJAX_processing_function');

footer.php

    <script type="text/javascript">
jQuery(function($) {
    $(document).ready(function() {
        $(".downloadtrack").bind('click', function(){
            console.log(this.name);
            var siteurl = '<?php echo esc_url( home_url( '/' ) ); ?>';
            alert(siteurl);
            var val = this.name;
            alert(val);
            var data = {action: 'download_track_resources', post_id: val};
            $.ajax({
                 url:siteurl+'wp-admin/admin-ajax.php',
                 success:function(data){
                   alert(data);
                 }
            });
        });
    });
});
</script>

Html code

<td height="25"><a href="javascript:void(0);" title="Download <?php the_title(); ?>" class="downloadtrack" name="<?php echo $post->ID;?>"><?php the_title(); ?></a></td>

Thanks

2

The answer is quite simple - you are not giving admin-ajax what it is expecting.

Please refer to the source code http://core.trac.wordpress.org/browser/tags/3.2.1/wp-admin/admin-ajax.php#L17

if ( ! isset( $_REQUEST['action'] ) )
    die('-1');

So make sure you are giving it an action (which you are not). Then, a little lower there is:

if ( ! $id )
    die('-1');

So make sure you are logged in, and all the other prerequisites AJAX in WordPress Plugins require to function.

For more information check the AJAX Codex entry.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.