2017-10-26 10 views
-1

私はJson配列オブジェクトをAjax経由でPHPファイルに渡していますが、これを受け取り、PHPでデータをループする方法はわかりません。ここでPHPプログラムからAjaxから送られたJsonデータをブラウズする方法は?

は、私は、オブジェクトがメインデータとして名前を取得するために何をすべきかです:ここでは

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]}] 

は私のAjaxコードです:

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

そして、ここでは私のPHPコードは次のとおりです。

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

しかし、私はPHPファイルからどのようにデータにアクセスするのか、それぞれの項目をループする方法はわかりません。

+0

$ _POSTデータの処理方法:https://www.w3schools.com/php/php_forms.asp(Ajaxを実行しますが、$ _POSTを処理する方法は同じです)、およびArrayをループする方法: https://www.w3schools.com/php/php_arrays.asp、PHPでJSONを処理する方法:https://www.w3schools.com/js/js_json_php.asp – Nic3500

答えて

0

私はあなたのJSONは次のようになりますと思う:

{ "landing_page_id": "1"、 "要素":[{ "workbook_id":15、 "ワークブック":[10,11]} 、{ "workbook_id":15、 "ワークブック": [10,11]}]}

PHPコードでは、次のように要素のデータを得ることができます:あなたはいけない場合

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

をあなたのJSONデータを変更したい、あなたはエルを得ることができます

$jsonArray = json_decode($_POST['main_data'],true); 
$isElement = false; 
    foreach($jsonArray['elements'] as $element){ 
     if($element == "element"){ 
      $isElement = true; 
     }else if($isElement && is_array($element)){ 
      echo $element['workbook_id']; 
      echo $element['workbook'][0]; 
      echo $element['workbook'][1]; 
      $isElement = false; 
     } 
    } 
+0

ソリューションが動作していないようです。出力なし –

+0

jsonを変更しましたか? – Tarun

+0

データがありません –

0

jsonデータをAjax経由で渡すので、渡されたデータを取得するにはPHPでデコードする必要があります。

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

ループは、個々のデータ

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

あなたのJSONデータを取得するために上記のアレイはない、適切な構造であると思われます。タルンが答えたところで構造を考えてみましょう。

+0

私はこのオブジェクトをPHPで受信しましたどのように私はPHPでループすることができます –

関連する問題