Ho problemi con wp_remote_get
nel mio plugin Wordpress.La chiamata Ajax non riesce quando si utilizza wp_remote_get nel plugin wordpress
Quello che voglio fare è chiamare un metodo all'interno della mia classe pubblica principale con ajax. Ma il fatto è che la chiamata fallisce quando viene utilizzata la funzione . Dovrebbe fare una chiamata API e restituire i dati a jQuery. Quando commento la wp_remote_get
, la chiamata funziona correttamente e la risposta viene restituita. Qualche idea come posso fare questo lavoro?
metodo che elabora la chiamata:
public function countryLookupApiCall() {
if (isset($_POST['action']) && isset($_POST['country'])) {
$country = $_POST['country'];
$apiKey = $this->getApiKey();
$url = $this->url . $country . '/callCharges?apiKey=' . $apiKey . '&response=JSON';
$response = wp_remote_get($url);
echo $response;
die();
}
}
jQuery:
jQuery(document).ready(function() {
jQuery("#countryLookupForm").submit(function(e){
var country = jQuery("#selectCountry").val();
var action = 'countryLookupResponse';
jQuery.ajax ({
type: 'POST',
url: countryLookup.ajaxurl,
dataType: 'json',
data: {action: action, country: country},
success: function(data) {
//do something with this data later on
var result = jQuery.parseJSON(data);
}
});
});
});
azioni Wordpress sono tutti registrati bene perché la chiamata funziona quando io non uso il wp_remote_get
EDIT: La soluzione era più che semplice, avevo solo bisogno di aggiungere e.preventDefault();
Il problema è che la chiamata ajax fallisce completamente se wp_remote_get è incluso, non appena lo rimuovo la chiamata funziona bene. Sto pensando che potrebbe essere un qualche tipo di conflitto. – Danijelb
Bene ... che devi abilitare la segnalazione degli errori nella tua configurazione php e impostare il livello di segnalazione degli errori per il debug. Questo ti porterà errore esatto per andare oltre. 'error_reporting (E_ALL); ini_set ("display_errors", 1); ' – alexeevdv