2017-10-26 1 views
-1

ich ein JSON-Array Objekt in eine PHP-Datei durch Ajax bin vorbei, aber ich weiß nicht, wie diese und Schleife durch die Daten in PHP zu erhalten.Wie durch JSON-Daten durchsuchen von Ajax von PHP-Programm gesendet?

Hier ist, was ich das Objekt als Hauptdaten genannt werden:

stringified as json object 
var main_data = ["landing_page_id","1", 
       "element",{"workbook_id":15,"workbook":[10,11]}, 
       "element",{"workbook_id":15,"workbook":[10,11]}] 

Hier ist meine Ajax-Code:

$.post('services/addUpdateLandingPage.php', main_data, function(msg) 
{ 
    alert(msg);  
}, 'json'); 

Und hier ist mein PHP-Code:

$data = $_POST['main_data']; 
echo 'this is data'.$data; 

Aber ich weiß nicht, wie die Daten aus der PHP-Datei zuzugreifen, und wie durch jedes Element in einer Schleife?

+0

Wie $ _POST Daten zu handhaben: https://www.w3schools.com/php/php_forms.asp (ja Sie Ajax, aber die Art und Weise $ _POST zu handhaben ist gleich), und wie durch Array-Schleife: https://www.w3schools.com/php/php_arrays.asp, wie JSON in PHP zu behandeln: https://www.w3schools.com/js/js_json_php.asp – Nic3500

Antwort

0

Ich denke, Ihre JSON sollte wie folgt aussehen:

{ "landing_page_id": "1", "Element": [{ "workbook_id": 15 "Arbeitsmappe": [10,11]} , { "workbook_id": 15 "Arbeitsmappe": [10,11]}]}

In Ihrem PHP-Code können Sie Elemente Daten wie folgt erhalten:

$jsonArray = json_decode($_POST['main_data'],true); 
foreach($jsonArray['elements'] as $element){ 
    echo $element['workbook_id']; 
    echo $element['workbook'][0]; 
    echo $element['workbook'][1]; 
} 

Falls Sie nicht Willst du deine JSON-Daten ändern, könntest du el bekommen wie folgt:

+0

Lösung scheint nicht ich habe versucht, php Renditen zu arbeiten ohne Ausgang –

+0

Haben Sie Ihren JSON geändert? – Tarun

+0

keine Daten gleichen –

0

Da Sie Json-Daten über Ajax übergeben, müssen Sie es in PHP dekodieren, um die Daten zu erhalten.

$array = json_decode($main_data,true); // will output json string to array 

Schleife des oben Array einzelne Daten

foreach($array as $key=>$value){ 
    echo $value; 
    // if $value is array loop again 
} 

Ihre JSON-Daten nicht in der richtigen Struktur zu sein scheinen zu bekommen. Berücksichtigen Sie die Strukturierung, wie Tarun in seiner Antwort erwähnt hat.

+0

ich dieses Objekt in PHP erhalten haben, wie kann ich durch die Schleife in PHP –

Verwandte Themen