2010-12-27 8 views
1

Hallo Ich bin nicht sicher, ob Sie mich verblüffen, weil ich Spanisch bin und ich spreche wenig Englisch, aber ich werde es versuchen: Ich möchte, wenn der Benutzer URL-Browser wie http://www.facebook.com/profile.php?id=000000001 sendet Der Browser sendet keine Anfrage an den Server, und AJAX lädt den Inhalt in einem DIV. Wie kann ich es funktionieren lassen? Ich hoffe du kannst mir helfen und mich verstehen. DankeWie kann ich AJAX Anfrage auf URL senden

+1

Nein, das geht nicht. Wenn Benutzer "http: // www.facebook.com" eingeben, wird er auf der Facebook-Website und nicht auf Ihrer Website ankommen. –

+0

es ist nur ein Beispiel, aber http://www.facebook.com/profile.php?id=000000001 tut keine Ajax Magie überhaupt - aber überprüfen Sie http://www.facebook.com/#!/profile.php? id = 000000001 (kein Ajax thou, aber eine JS basierte Redirect) – Hannes

Antwort

1

Der Browser wird die Seite immer neu laden, wenn Sie die Adresse ändern. Der Ajax Art und Weise der Handhabung Seite Änderungen ist mit dem Hash-Tag zu arbeiten, was alles nach dem Rautenzeichen (#)

www.example.com # page = eine www.example.com # page = zwei www .example.com # page = drei & mehr = params

1

Das ist ein komplexes Problem, Sie können Hashbangs verwenden (http://www.facebook.com/profile.php#!000000001), weil sie den Browser nicht zwingen, eine Seite (erneut) zu laden, aber Sie können sie fangen über AJAX, wenn die Seite geladen ist. Wenn Sie keine Hashbangs verwenden möchten, wäre das HTML5 History Interface http://www.w3.org/TR/html5/history.html ein Weg zu gehen, aber es wird nicht von vielen Browsern unterstützt, aber ich habe einige Arbeitsmaterialien unter Chrome gemacht.

1

Sie können Fiddler verwenden, um die über AJAX an den Server gesendeten Daten zu erkennen. Anschließend können Sie HTTPWebRequest/Response schreiben, um sie zu simulieren.

0

Sie die GET auf URL mit dieser Funktion können Sie einen Ajax-Aufruf machen:

$.extend({ 
    getUrlVars: function(){ 
     var vars = [], hash; 
     var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
     for(var i = 0; i < hashes.length; i++){ 
      hash = hashes[i].split('='); 
      vars.push(hash[0]); 
      vars[hash[0]] = hash[1]; 
     } 
     return vars; 
    }, 
    getUrlVar: function(name){ 
     return $.getUrlVars()[name]; 
    } 
}); 

Und analysieren Argumente:

$(document).ready(function(){ 
    // load ajax call 
    if($.getUrlVar('param') != null){ 
     $.ajax({ 
      data: { 
       something_var: $.getUrlVar('param') 
      }, 
      success: function(data){ 
       alert(data); 
      } 
     }); 
    } 
}); 

Beispiel url: http://www.website.com/?param=ok

Hoffnung ist es, was Sie wollen :)

Verwandte Themen