He estado trabajando en mi cerebro y buscando en Google durante casi todo el día sobre por qué esto no funciona. Como un experimento para mejorar mi propio sitio, estaba consultando un tutorial aquí, http://tutorialzine.com/2009/09/simple-ajax-website-jquery/ y, lo más importante, la sección ajax/jquery.Intentando que PHP lea la publicación de AJAX
Básicamente, el POST de ese tutorial funciona con números de página, sin embargo he intentado convertirlo para usar nombres de página. Así que tomaría #! Home (hashbangs para implementar la compatibilidad de google más adelante) desde un href y php podría analizarlo como "home.html" y cargarlo en el div de contenido. Por razones que van más allá de mí, simplemente no funcionará. Voy a publicar las secciones pertinentes del Código he intentado modificar a mi favor:
Desde el cargador de JavaScript (sólo la sección final, que he modificado):
var datastring=url.replace('#!',''); //strip the #page part of the hash and leave only the page number
$('#loading').css('visibility','visible'); //show the rotating gif animation
$.ajax({ //create an ajax request to load_page.php
type: "POST",
url: "load_file.php",
data: datastring, //with the page number as a parameter
dataType: "html", //expect html to be returned
async: false,
success: function(msg){
if(parseInt(msg)!=0) //if no errors
{
$('#content').html(msg); //load the returned html into pageContet
$('#loading').css('visibility','hidden'); //and hide the rotating gif
}
}
});
Y todo el archivo php:
<?php
$url = $_POST['datastring'];
if(file_exists(''.$url.'.html'))
echo file_get_contents(''.$url.'.html');
else echo 'There is no such page!';
?>
Quería aprender por mi cuenta y resolver esto, pero la verdad es que no lo entiendo:/No hay ningún problema de dominio cruzado hasta donde yo sé. ¿Alguien sabe lo que me estoy perdiendo? Pensé en preguntar aquí, ya que es probable que esté más recorrido que el sitio de ese tutorial, aunque si encuentro una solución voy a ir allí y publicarlo en los comentarios para que otros puedan evitar mi dolor. XD
Cuál es el mensaje de error que está recibiendo? –
Con el ánimo de ayudarlo a aprender por su cuenta, una sugerencia: ¿está enviando la solicitud lo que cree que es, y está accediendo a lo que cree que es en el php? Mira los documentos .ajax, usa firebug/etc. para verificar la solicitud y depurar los parámetros/valores de la solicitud php :) –
Supongo que solo van a decirte :) –