Ajax-send-Parameter über die url
Ich bin neu in ajax und dachte, ich wäre ein lustiges experiment, in mein Projekt. Ich habe meine eigene lightbox-Art-Funktion zum senden einer Nachricht auf eine website, die ich erschaffe. Wenn der Benutzer klickt auf "Nachricht Senden", das ist, wenn der lightbox erscheint, und an der Spitze ich bin versucht, es zu erhalten, zu sagen, "Sende Nachricht an Benutzer", wobei Benutzer für den Namen des Benutzers, Sie schicken uns eine Nachricht zu. Meine lightbox html-Elemente tatsächlich auf einer separaten Webseite, die ist, warum ich bin mit ajax. dies ist, was ich habe, so weit, und kann nicht scheinen, um herauszufinden, was das problem ist:
user.php Seite
<div id = "pageMiddle"> //This div is where all the main content is.
<button onclick = "showMessageBox(UsersName)">Send Message</button>
</div>
Hinweis: Der Benutzername geht richtig in die javascript-Funktion habe ich geprüft, viel.
main.js Seite
function showMessageBox(user){
alert(user); //where i checked if username passes correctly
var ajaxObject = null;
if (window.XMLHttpRequest){
ajaxObject = new XMLHttpRequest();
}else if (window.ActiveXObject){
ajaxObject = new ActiveXObject("Microsoft.XMLHTTP");
}
if (ajaxObject != null){
ajaxObject.open("GET", "message_form.php", true);
ajaxObject.send("u="+user);
}else{
alert("You do not have a compatible browser");
}
ajaxObject.onreadystatechange = function(){
if (ajaxObject.readyState == 4 && ajaxObject.status == 200){
document.getElementById("ajaxResult").innerHTML = ajaxObject.responseText;
//use jquery to fade out the background and fade in the message box
$("#pageMiddle").fadeTo("slow", 0.2);
$("#messageFormFG").fadeIn("slow");
}
};
}
message_form.php Seite
<div id = "messageFormFG">
<div class = "messageFormTitle">Sending message to <?php echo $_GET['u']; ?></div>
</div>
Hinweis: Beim Zugriff auf diese Seite direkt über die URL, gibt es einen parameter u und ein Wert, der zeigt es richtig
InformationsquelleAutor Vince | 2013-06-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
wunderlichen Weg, es zu tun (alte Schule) 🙂
ja, ich denke, das problem kann sein, dass Sie geladen werden, eine ganze html-Seite in einem div! Bedeutung von tags und Zeug, ein guter Weg, um zu verstehen, was falsch wäre, einen debugger verwenden und sehen, was kommt in ajaxObject.responseText.
Hoffe, das hilft.
Btw konvertieren jQuery-ajax!! spart Sie jede Menge Zeit =)
InformationsquelleAutor CarlosB
Ich glaube, dass müssen Sie einen Anfrage-header vor dem senden Ihrer Daten. So hätten Sie diese:
Anstelle von dem, was Sie haben.
Aber es kann eine gute Idee sein, um zu erlauben, eine Bibliothek, dies zu tun für Sie. Es sieht aus wie Sie jQuery schon geladen, also warum nicht lassen es mit Ihren AJAX-requests statt?
Das ist korrekt, CarlosB. Dies ist nur erforderlich, wenn nicht mit Hilfe von jQuery, wie das original-Plakat war zu tun. Ich wies darauf hin, dass es eine gute Idee wäre, jQuery, nachdem ich erklärt habe, der richtige Weg, um die Anfrage zu behandeln, ohne jQuery.
InformationsquelleAutor CamHenlin
Habe ich es herausgefunden, nachdem ich einige ajax-tutorials von bucky 🙂 aka thenewboston. Wenn ich mit der GET-Methode, die ich gerade hatte, um die parameter an das Ende der url in der .open-Funktion, anstatt übergeben es über die send-Funktion (wie einen post-Methode).
InformationsquelleAutor Vince
wenn Sie möchten, senden Zahl von Feld-Werte unter Verwendung von ajax.Sie können serilalize Funktion.
Beispiel:
InformationsquelleAutor hitesh nagpal