1

I had problem using admin-ajax.php while creating one plugin. I had problem using "add_action( 'wp_ajax_ajax_action', 'ajax_action_stuff' )" in my plugin where i have used oop module. So I want to go with jquery native way like below :

$.ajax({
  url: "test.html",
  context: document.body,
  success: function(){
    $(this).addClass("done");
  }
});

Wordpress recommend to use admin-ajax.php for handeling ajax request. Is there any specific reason. Will i encounter any problem if go with native jquery ajax way.

1
  • 2
    What is the jQuery native way? jQuery sends a request to any URL, admin ajax is your URL. It's surely no different to any other jQuery ajax request?
    – Joe Hoyle
    Jan 25, 2012 at 9:39

2 Answers 2

1

I've used this method in quite a few applications until I found out about using admin-ajax.php, so pretty much simply put, no, I don't think it will cause any problems.

Although I do recommend using the method that WordPress describes! In my opinion it is much easier and works nearly the same (or better) as the method you are describing.

1
  • thanx for your prompt reply. I would be really grateful if u could show one nice example how to use it in oop structured plugin. i am getting confused regarding the callback function.
    – Obhaso
    Jan 25, 2012 at 9:31
1

There are a few reasons i can think of but the two most important would be:

  1. Data Security, take a look at this answer
  2. The use of WordPress functions inside you ajax php callback.

And as for using ajax with OOP development you can hook you callback function just like you normally would but add array with instance to the callback parameter, for example:

add_action( 'wp_ajax_ajax_action', 'ajax_action_stuff');

inside a class becomes

add_action( 'wp_ajax_ajax_action', array($this,'ajax_action_stuff' ));

Your Answer

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

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