2017-06-20 4 views
0

私は本当にJSデベロッパーではないので、私はこの1つで私の髪をポーリングしています。 jsonファイルのデータを表示するためにAjaxを使用しています...しかし動作しません。結果を見るためにconsole.logをどこにでも置いていますが動作しません。私のコードはJSONデータをAjaxで入手する

encodeデータ:

// Inclusion du ficher de fonction permettant de démarrage du contexte de l'applicaiton 
Include $_SERVER["DOCUMENT_ROOT"].DIRECTORY_SEPARATOR."Includes".DIRECTORY_SEPARATOR."Functions".DIRECTORY_SEPARATOR."functions.php"; 

// Initialisation des variables 
$action  = ''; 
$pValue  = ''; 
$pType  = ''; 
$pRegion = ''; 
$currenthyperviseur = new hyperviseur(); 
$currentregion  = new region(); 

// Récupération de l'action passée au webservice 
if(isset($_REQUEST['action']) && $_REQUEST['action']!= "")  {$action = $_REQUEST['action']; } 
if(isset($_REQUEST['pValue']) && $_REQUEST['pValue']!= "")  {$pValue = base64_decode($_REQUEST['pValue']); } 
if(isset($_REQUEST['pType']) && $_REQUEST['pType']!= "")  {$pType = $_REQUEST['pType']; } 
if(isset($_REQUEST['pRegion']) && $_REQUEST['pRegion']!= "") {$pRegion = $_REQUEST['pRegion']; } 

// Gestion de l'ensemble des cases du web service 
switch($action) 
{ 
    // 
    // Permet la récupération de données dans l'Hyperviseur (GET) 
    // 
    case 'H_getAlmBacPFull'  : echo json_encode($currenthyperviseur->getListAlarmeBac(1));   break; 
    case 'H_getAlmBacTFull'  : echo json_encode($currenthyperviseur->getListAlarmeBac(2));   break; 
    case 'H_getGrpBacTFull'  : echo json_encode($currenthyperviseur->getListAlarmeQualifBac());  break; 

    case 'H_getAlmDetails'  : echo json_encode($currenthyperviseur->getAlarmeDetails($pValue));  break; 
    case 'H_getGrpDetails'  : echo json_encode($currenthyperviseur->getGroupeDetails($pValue));  break; 

    // 
    // Permet la MAJ de données dans l'Hyperviseur (SET) 
    // 
    case 'H_setCheckAlm'  : echo $currenthyperviseur->setAlarmeCheckAction($pValue);    break; 
    case 'H_setGroupAlm'  : echo $currenthyperviseur->setGroupAlarme($pValue);     break; 
    case 'H_setAlmIdGrp'  : echo $currenthyperviseur->setAlarmeIdGrp($pValue);     break; 


    // 
    // Permet la récupération de données pour le module 'HyperViseur MoreDetails' (GET) 
    // 
    case 'HVMD_getContentBloc' : echo json_encode($currenthyperviseur->getContentBloc($pType, $pValue)); break; 


    // 
    // Permet la récupération de données pour le module 'Region' (GET) 
    // 
    case 'R_getListContentBloc' : echo json_encode($currentregion->getListContentBloc($pType));   break; 
    case 'R_getContentBloc'  : echo json_encode($currentregion->getContentBloc($pType, $pRegion)); break; 
     // 
    // Permet la récupération de données pour le module la map des régions 
    // 
    case 'dashMap_getSite' : echo json_encode($dashMap_getSite($pRegion);   break; 


} 

関数dashMap_getSite($ pRegion)のデータを取得する:

$dataArray = array(); 
    if($pRegion == 'all') 
    { 
     $dataLine = array(); 
     $dataLine['codeSite'] = "01014"; 
     $dataLine['latitude'] = '46.2625'; 
     $dataLine['longitude'] = '5.6380'; 
     $dataLine['nom']  = 'Oyonnax 2'; 
     $dataLine['nbAlm']  = 10; 
     $dataLine['critilevel'] = 2; 
     array_push($dataArray, $dataLine); 

     $dataLine = array(); 
     $dataLine['codeSite'] = "04025"; 
     $dataLine['latitude'] = '44.4242'; 
     $dataLine['longitude'] = '6.7533'; 
     $dataLine['nom']  = 'Barcelonette 3 Est TDF'; 
     $dataLine['nbAlm']  = 0; 
     $dataLine['critilevel'] = 1; 
     array_push($dataArray, $dataLine); 
    } 
    return $dataLine; 

そして、この第二の機能getArrayOfSiteAjax()アヤックス

でそれを表示します

ありがとうございました!構文エラーだとエラーがあったので、おそらく

case 'dashMap_getSite' : echo json_encode(dashMap_getSite($pRegion));   break; 

をする必要があります

+1

をあなたは 'SUCCESS'コールバックを持って、何が悪いのかを見るために' ERROR'コールバックはどうですか?また、コンソールにエラーがありますか? –

+1

JSONファイルが表示されません。 "json file"とは、PHPで '' assoc配列を作成し、それを 'json_encode'で作成して送信するという意味ですか? – PeterMader

+0

@PeterMaderはいそれはjson_encode – Zee

答えて

0
case 'dashMap_getSite' : echo json_encode($dashMap_getSite($pRegion);   break; 

は、successコールバックは、あなたがメッセージを取得しない、呼び出されませんでした。

データを表示するには、あなたがこのような何か行うことができます:

// ... 
success: function (data) { 
    var container = $('#container'); // the element in which you want to display the data 
    // loop over each item in the array 
    $.each(data, function (index, element) { 
    var outer = $('<div />'); 
    // element is an object, loop over its properties 
    $.each(element, function (key, value) { 
     var inner = $('<div />'); 
     inner.text(key + ': ' + value); 
     outer.append(inner); 
    }) 
    container.append(outer); 
    }); 
} 
// ... 
+0

ありがとうございます...構文エラーです – Zee

+0

divでコンソールにないデータを表示したい場合は、最後に質問してください。どうすればいいですか? SELECT? – Zee

関連する問題