cum să configurezi opțiunea beforesend în metodele AJAX din WordPress

23 mar. 2012, 00:45:03
Vizualizări: 3.22K
Voturi: 1

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) {

    });

}
1
Comentarii

Acesta este modul greșit de a face ajax în WordPress. Modul corect este documentat aici: 5 Sfaturi pentru Utilizarea Ajax în WordPress

random_user_name random_user_name
23 mar. 2012 01:46:46
Toate răspunsurile la întrebare 2
0

Aveți două opțiuni:

  1. Utilizați jQuery.ajax() în loc de jQuery.post()
  2. Utilizați jQuery.ajaxSetup() pentru a modifica comportamentul beforeSend global.

Referință: https://stackoverflow.com/questions/2257975/using-beforesend-and-complete-with-post

23 mar. 2012 01:18:25
7

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.

9 oct. 2014 02:47:35
Comentarii

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

Kar19 Kar19
26 feb. 2015 15:38:11

Î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 josh
26 feb. 2015 17:16:29

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

josh josh
26 feb. 2015 17:17:36

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 Kar19
26 feb. 2015 17:20:20

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 josh
26 feb. 2015 23:12:38

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

Kar19 Kar19
27 feb. 2015 11:02:25

Super. Am ratat asta în răspunsul tău. Mă bucur că ai reușit să rezolvi!

josh josh
27 feb. 2015 14:57:35
Arată celelalte 2 comentarii