cum să configurezi opțiunea beforesend în metodele AJAX din WordPress
Cum configurez opțiunea beforesend
în AJAX WordPress? Vreau să afișez o opțiune de încărcare.
Acesta este codul meu:
function showmyvideos() {
var datas="data";
var data = {
action: 'my_vids',
link: datas
};
ajaxurl= "http://localhost/wordpress/wp-admin/admin-ajax.php";
jQuery.post(ajaxurl, data,function(response) {
});
}
Aveți două opțiuni:
- Utilizați
jQuery.ajax()
în loc dejQuery.post()
- Utilizați
jQuery.ajaxSetup()
pentru a modifica comportamentulbeforeSend
global.
Referință: https://stackoverflow.com/questions/2257975/using-beforesend-and-complete-with-post

Pentru posteritate.
Poți în continuare să folosești $.ajax()
fără a fi nevoie să utilizezi $.ajaxSeteup()
. Tot ce trebuie să specifici este type
și să te asiguri că este setat la POST
.
$.ajax({
url: localized_script.ajax_url, /* URL-ul AJAX din admin din scriptul localizat */
type: 'POST', /* Important */
data: data_object, /* Obiectul de date care include 'action' și toate variabilele post */
beforeSend: function() {
alert('Înainte de trimitere');
},
success : function(response) {
alert(response); /* Răspunsul din funcția AJAX */
},
complete: function() {
alert('Complet');
}
});
După cum poți vedea, poți seta diferite funcții/evenimente pentru beforeSend
, success
și complete
.

Să presupunem că folosesc $.post, am câmpul - action: [numele "add_action('wp_ajax_.." etc]. Unde îl scriu când folosesc $.ajax ?

Îl vei seta în "data_object". Deci înainte de apelul $.ajax
; vei defini data_object
. Ca de exemplu, data_object = { 'action': 'my_action', 'whatever': 1234 };
.

Sau, în apelul ajax; setează data:
ca data: { 'action': 'my_action', 'whatever': 1234 },

OK, funcționează.
Din nu știu ce motiv primesc o eroare
POST http://54.149.xx.xx/wp_admin/admin_ajax.php 404 (Not Found)
în consola mea.
Ai vreo idee de ce?

Trebuie să transmiți URL-ul către admin_ajax.php
scriptului; folosind localizarea. Poți încerca să folosești url: ajaxurl
(în loc de url: localized_script.ajax_url
) dacă este disponibilă ca variabilă globală js pe pagina unde incluzi scriptul tău. Ce valoare folosești pentru url:
?

de fapt am găsit problema.. nu este wp_admin. este wp-admin. mulțumesc mult frate! :D
