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 comportamentulbeforeSendglobal.
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 ?
Kar19
Î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 };.
josh
Sau, în apelul ajax; setează data: ca data: { 'action': 'my_action', 'whatever': 1234 },
josh
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?
Kar19
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:?
josh
de fapt am găsit problema.. nu este wp_admin. este wp-admin. mulțumesc mult frate! :D
Kar19