你们可以帮助我吗?我不是一个真正的JS开发人员,所以我用这个来调查我的头发。 我正在使用Ajax来显示来自json文件的数据......但是它不起作用,我把console.log放在几乎所有地方以查看结果但是它不能工作,这里'我的代码:
编码数据:
// 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()用ajax显示它
console.log(gWsProviderUrl);
$.ajax({
url: gWsProviderUrl + '?action=dashMap_getSite&pRegion=all',
type: 'POST',
dataType: 'json',
success:function(data){
console.log('arrayOfSite');
arrayOfSite = data;
$.each(arrayOfSite, function(currentIdx, currentValue){
console.log('codeSite => ' + currentValue.codeSite );
console.log('latitude => ' + currentValue.latitude );
console.log('longitude => ' + currentValue.longitude );
console.log('nom => ' + currentValue.nom );
console.log('nbAlm => ' + currentValue.nbAlm );
console.log('critilevel => ' + currentValue.critilevel);
});
console.log('heyy');
}
});
谢谢!
答案 0 :(得分:0)
case 'dashMap_getSite' : echo json_encode($dashMap_getSite($pRegion); break;
这是一个语法错误,应该是
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);
});
}
// ...