3

I'm working with Wordpress + Ajax and even using the proper hooks I get the error "ReferenceError: Can't find variable: ajaxobject". Of course there is some problem with my ajaxurl but I don't understand where since it seems well done to me. Can you help me?

In my functions.php

add_action( 'wp_enqueue_scripts', 'add_frontend_ajax_javascript_file', 11, 2 );
function add_frontend_ajax_javascript_file()
{
   wp_localize_script( 'ajax-script', 'ajaxobject', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
}

my jQuery/AJAX file

var itemtitle = $('#itemtitle').val();
    var itemdescription = $('#itemdescription').val();
    jQuery.ajax({
        method: 'post',
        url : ajaxobject.ajaxurl, //Why???
        dataType: "json",
        data: {
            'action':'update_portfolio_function',
            'pid' : id,
            'itemtitle' : itemtitle,
            'itemdescription' : itemdescription,
        },
        success:function(data) {
            // This outputs the result of the ajax request
            alert("Coooool");
        },
        error: function(errorThrown){
            console.log(errorThrown);
        }

    });

of course the update_portfolio_function looks like

add_action('wp_ajax_update_portfolio', 'update_portfolio_function' );
function update_portfolio_function(){
    $id = $_REQUEST['pid'];
    $title = $_REQUEST['itemtitle'];
    $description = $_REQUEST['itemdescription'];
    $attachment = array(
        'ID' => $id,
        'post_title' => $title,
        'post_content' => $description
    );
    // now update main post body
    wp_update_post( $attachment );
    die();
}

Should I use init or no_priv?

2
  • 1
    y you need ajaxobject, simply use ajaxurl Commented Jul 21, 2016 at 11:07
  • 1
    @MujeebuRahman That's great, many thanks! You made my day. Commented Jul 21, 2016 at 11:22

1 Answer 1

1

You just need to use ajaxurl instead of ajaxobject.ajaxurl

like below

jQuery.ajax({
        method: 'post',
        url : ajaxurl,
        dataType: "json",
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.