Надеюсь, у них все хорошо!У меня небольшая проблема, все отлично работает, но это не то, что я ищу, эта функция:
<script>
var previous = null;
var current = null;
setInterval(function() {
$.getJSON("https://www.casadelpana.com/api/v1", function(json) {
current = JSON.stringify(json);
if (previous && current && previous !== current) {
console.log('refresh');
location.reload();
}
previous = current;
});
}, 2000);
При обновлении данных JSON данные обновляются на https://www.casadelpana.com/test но он перезагружает всю страницу.Я понимаю, что это можно сделать с помощью Ajax, я не нашел ничего похожего, где я возвращаю переменные, которые меня интересуют.Как я могу обновить данные без перезагрузки страницы?Прикрепленный полный код:
<?php
/*
Template Name: Test
*/
?>
<?php header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');
?>
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Formulario</title>
<title>Probando AP.I</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
var previous = null;
var current = null;
setInterval(function() {
$.getJSON("https://www.casadelpana.com/api/v1", function(json) {
current = JSON.stringify(json);
if (previous && current && previous !== current) {
console.log('refresh');
location.reload();
}
previous = current;
});
}, 2000);
</script>
</head>
<body>
<?php
$request = wp_remote_get( 'https://api.casadelpana.com/v1' );
if( is_wp_error( $request ) ) {
return false;
}
$body = wp_remote_retrieve_body( $request );
/* mostrar json original
print_r($body); */
$data = json_decode($body);
/* mostrar json decode en PHP
echo '</br>';
print_r($data);
echo '</br>'; */
$vbs = $data->items['0']->valor; // tomar valor del bolivar respecto al dolar
$vars = $data->items['1']->valor; // tomar valor del peso ARS respecto al dolar
$tasaneta = $vbs / $vars;
$tasacomercial = $tasaneta * 0.85;
echo 'Valor del bolivar: '.$vbs.'';
echo '</br>';
echo 'Valor del Peso ARS: '.$vars.'';
echo '</br>';
echo 'Valor de tasa neta: '.round($tasaneta,0).'';
echo '</br>';
echo 'Valor de tasa comercial: '.round($tasacomercial,0).'';
// Hacer recorrido y obtener todos los valores.
/*
if( ! empty( $data ) ) {
echo '<ul>';
foreach( $data->items as $item ) {
echo '<li>';
echo '<b>' .$item->nombre. '</b>: ' . $item->valor . '</a>';
echo '</li>';
}
echo '</ul>';
}
*/
?>
</body>
</html>