Ik ben wat aan het spelen met AJAX maar snap er helaas nog weinig van.
Ik wil de laatste history url die de browser opslaat ophalen via AJAX en deze dan plaatsen in een string.

maar wat ik me nu al afvraag is hoe kan ik zien wat er in window.history zit bijvoorbeeld.
Waarom zou je AJAX hiervoor gebruiken?
Ja ik wou het met PHP doen maar dan moet je de reffer gebruiken en die is niet altijd gevuld.
Maar als je een ander idee hebt ?
window.history.previous.href

Dit kan je wel inderdaad met AJAX doorsluizen naar PHP.
okeej maar hoe zet ik dit dan in een string naar bijvoorbeeld

$window_history = window.history.previous.href;

Ik snap gewoon iets te weinig van ajax en gaat me denk ik te veel tijd kosten dit helemaal uit te pluizen dus zou er mee geholpen zijn.
window.history.previous.href werkt niet bij mij.

Maar laat me dat ander ding beantwoorden.
Hier is een voorbeeld van Ajax, met post data.
Dit kan je zelf al eens uittesten en wat mee spelen.

index.php

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {   // wordt uitgevoerd als de pagina geladen is
  // var browser_history = window.history.previous.href;
  var username  = 'Ray';
  var surname   = 'Davies';
  // ajax verzoek starten.  Alles in object-notatie
  $.ajax({
    url:    'ajax.php', 
    method: 'post',
    data:   {
      voornaam: username,
      naam:     surname
    },
    success: function(message) {  // dit wordt uitgevoerd als de server een antwoord terug stuurt naar javascript.  de parameter message is wat de server geprint heeft.
      // we steken het antwoord van de server in de div
      $('#messages').html(message);
    }
  });
});
</script>
<div id="messages"></div>


ajax.php (steek die in de zelfde map als index.php)
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// de echo die we hier doen, is de boodschap die javascript terug krijgt
echo 'Hallo ' . $_POST['voornaam'] .' ' . $_POST['naam'] .', dit is een bericht dat we vanuit de server terug naar javascript tonen: ';
}
?>
dank u ga hier eens meespelen.

Toevoeging op 04/12/2013 14:37:21:

Eigelijk doet deze niet precies wat ik wil.
Ik wil eigenlijk alleen de url hebben van de vorige pagina nu spring hij erheen.

Ik heb nu dit:


<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {   // wordt uitgevoerd als de pagina geladen is
  var browser_history = window.history.go(-1);
  // ajax verzoek starten.  Alles in object-notatie
  $.ajax({
    url:    '../test/ajax.php',
    method: 'post',
    data:   {
		server:	 browser_history
    },
    success: function(message) {  // dit wordt uitgevoerd als de server een antwoord terug stuurt naar javascript.  de parameter message is wat de server geprint heeft.
      // we steken het antwoord van de server in de div
      $('#messages').html(message);
    }
  });
});
</script>
<div id="messages"></div>


Het success-event lijkt me dan verder niet echt nodig. Je kan het wel vervangen door een ajaxError event, als je het nodig vindt om fouten op te vangen.

in plaats van message kan je dan jqXHR,textStatus,errorThrown gebruiken om de gemaakte fouten op te vragen.
Wat zou kunnen werken:
Maak van lijn 10:

server: document.referrer

Het is niet helemaal het zelfde.
referrer is bedoeld om te weten of de gebruiker op een andere site een link heeft gevonden naar jouw site (en heeft geklikt).
Dat van de reffer is het zelfd als hoe ik het met PHP kan doen.
Ik ben eigenlijk op zoek naar de URL die de terug knop van de browser zelf gebruikt.
Dit halen ze uit de geschiedenis alleen hoe kom ik nu aan die url vraag ik me af.
Heb met php al van alles getest maar krijg niet wat ik wil.
Het lijkt vrij logisch dat het zou moeten kunnen, echter zitten daar privacy-bezwaren aan.
Vroeger had het misschien nog gekund met: window.history.href.

Maar nu lees ik dit in de docs van Mozilla over het history-object().

For security reasons the History object doesn't allow the non-privileged code to access the URLs of other pages in the session history, but it does allow it to navigate the session history.

Doorsturen kan nog wel, maar er is geen toegang meer mogelijk tot de URL's in de browsersessie.
Enige middel is nog $_SERVER['HTTP_REFERER'] die overigens niet 100% betrouwbaar is.

Reageren