2016-08-23 6 views
-2

Ich versuche, Daten an den Server mit AJAX (Pure JS) zu senden. Und ich möchte es auf die Anfrage senden.So senden und empfangen Sie Inhalt mit Ajax und PHP

Ich weiß, wie es in jQuery zu tun:

$.ajax({ 
    url: 'someurl', 
    data: 'foo' 
}); 

Was ich meine, ist, wie ich Daten an den Server wie jQuery senden kann nicht, wenn sie in reinen js Ajax-Methode mit Daten-Attribut?

Wie kann ich in PHP auch diese Daten bekommen?

Ich weiß, dass mit Laravel ich

Request::getContent(); 

tun müssen (wenn ich mich recht erinnere)

Aber ich weiß nicht, wie diese Daten in PHP zu erhalten.

Dank

+0

Eine Google-Suche nach "JavaScript AJAX Beispiel" zeigt viele, viele Beispiele. Einschließlich hier auf Stack Overflow: http://stackoverflow.com/questions/8567114/how-to-make-an-ajax-call-without-jquery Wie für die Daten in PHP erhalten, wird jede Einführung PHP-Tutorial zeigen wie man GET- und POST-Daten liest. – David

+0

@David Sie verstehen meine Frage nicht, ich möchte nicht die Daten in Post/Get Variablen senden Ich möchte es in Anfrage senden Körper –

+0

Das ist, was eine POST-Anfrage * tut *. Er sendet Daten im Anfragetext. Wenn Ihre Frage mehr ist als gefragt, könnten Sie vielleicht die Frage selbst ausarbeiten? Fügen Sie ein Beispiel ein, was Sie versucht haben und wo Sie stecken geblieben sind. – David

Antwort

2

In Bezug auf die, ohne sich auf jQuery die AJAX-Request über Javascript zu senden, das ist eine ziemlich breite Frage. Sie sollten wahrscheinlich review the documentation here.

Ein einfaches Beispiel

// Old compatibility code, no longer needed. 
if (window.XMLHttpRequest) { // Mozilla, Safari, IE7+ ... 
    httpRequest = new XMLHttpRequest(); 
} else if (window.ActiveXObject) { // IE 6 and older 
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
} 

httpRequest.open('POST', url); 
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
var data = /* some data here */ 
httpRequest.send('data=' + encodeURIComponent(data)); 

diese abzurufen in PHP würden Sie verwenden entweder $_POST oder file_get_contents('php://input') je nach Content-type Header in der Anfrage gesendet. Im obigen Beispiel verwenden wir einen application/x-www-form-urlencodedContent-type Header mit einem POST HTTP-Verb, so dass die Informationen in $_POST['data'] aufgefüllt werden.

+0

Aber ich möchte nicht die Daten als Post-Variable senden , Ich möchte die Daten im Anfragetext senden –

+1

Eine POST-Variable ___is___ im Anfragetext. Wenn Sie es als etwas anderes als den Inhaltstyp "application/x-www-form-urlencoded" senden möchten, können Sie das auch immer tun. – Sherif

-1

Hoffe, das hilft! Dies ist eine AJAX-Anfrage mit einem sehr breiten Umfang und ich habe versucht, das Beispiel so einfach wie möglich zu verstehen! :)

my-web-page.php

<a onclick="<?php $myValue; ?>">Send request</a> 

<script> 
    $.ajax({ 
     type: "POST", 
     url: 'my-script.php', 
     data:{ 
      action: 'send', 
      key: $myValue 
     } 
    }); 
</script> 

my-script.php

<?php 
    $myValue = $_POST['key']; 
?> 
Verwandte Themen