2017-01-25 4 views
0

Ich brauche etwas Hilfe. Ich versuche, Array von Breite und Länge zu php, direkt zu senden. Ich möchte es nicht in einem HTML-Feld speichern, es funktioniert jedoch nicht. Ich bekomme die Breite und Länge von HTML-Text und konvertiere es in eine Zahl und füge es dann zu einem Array in Javascript hinzu. HierJavascript und PHP. Senden von mehreren Array zu PHP mit Ajax und Konvertieren in PHP Array

ist der Code für die

var widthL = []; 
var lengthL = []; 

var widths = document.wall.width.value; 
var lengths = document.wall.length.value; 

var wNumber = Number(widths); 
var lNumber = Number(lengths); 

widthL.push(JSON.stringify(wNumber)); 
lengthL.push(JSON.stringify(lNumber)); 

Dies ist der Ajax-Code ich es PHP

$.ajax({ 
     type: "POST", 
     url: "./Summary.php", 
     data: {"widths": widthL, "lengths" : lengthL}, 
     cache: false, 
     success: function (response) { 
      console.log("This is the width", widthL, " This is the length", lengthL); 
     } 

    }); 

In PHP zu senden verwende ich diesen Code verwenden sie zu empfangen. Aber ich bekomme nichts zurück.

Ich hüpfte, dass mir jemand hier helfen könnte.

+0

Was bekommen Sie, wenn Sie 'var_d Ump ($ _ POST []); '? –

+0

Dont 'JSON.stringify()' Zeug, bevor Sie den AJAX-Anruf tätigen. Das wird nach all dem für Sie aussehen, wenn Sie 'dateType:" json "' zum Ajax-Aufruf hinzufügen – RiggsFolly

+1

Fügen Sie 'dataType:" json "' zu Ihrem '$ .ajax()' -Aufruf hinzu. – mrun

Antwort

0

Zuerst sollten Sie den Inhaltstyp in der Ajax-POST angeben:

$.ajax({ 
    type: "POST", 
    url: "./Summary.php", 
    contentType: "application/json; charset=UTF-8", // Add content type 
    data: {"widths": widthL, "lengths" : lengthL}, 
    cache: false, 
    success: function (response) { 
     console.log("This is the width", widthL, " This is the length", lengthL); 
    } 

}); 

dann in PHP:

$request_body = file_get_contents('php://input'); //This reads the raw POST data 
$json = json_decode($request_body); // Then parse it to JSON 
$lengths = $json->lengths; 
$widths = $json->widths; 
+0

Ich habe versucht, Sie Code und Echo es aus, immer noch bekomme ich nichts zurück – user5517779

0

bitte einen POST-Parameter Namen als datatype hinzuzufügen, geben Sie es JSON Wert, die Ajax Daten Param Wert verwenden Schlüssel = Wert & Schlüssel = Wert Format dann in PHP-Datei geben Sie Debug-Code