JSON形式でモバイルアプリにデータを返す次のコードがあります..
if($_POST){?>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDDEBh6r9r7-VxyYqRehzYZp903M69_W7s&sensor=false&libraries=geometry"></script>
<script src="jquery-1.10.2.min.js"></script>
<?php
$eventid = $_POST['eventid'];
$uid = $_POST['uid'];
$email = $_POST['email'];
$twitterusername = $_POST['twitterusername'];
$instausername = $_POST['instausername'];
.....more PHP code..
?>
<script type="text/javascript" code="maps_code1">
var mapCanvas;
var container;
var zoom = 11;
var centerPoint = new google.maps.LatLng(<?php echo $eventimage_latitude;?>, <?php echo $eventimage_longitude;?>);
<?php
$l = 1;
foreach($user as $userData){
?>
var LatLng<?php echo $l;?> = new google.maps.LatLng(<?php echo $userData['latitude'];?>, <?php echo $userData['longitude'];?>);
....
function setMarker(marker, point, html, title, icon) {
if (marker) {
marker.setPosition(point);
return marker;
}
marker = new google.maps.Marker({
position : point,
title : title,
icon : icon,
draggable : true,
map : mapCanvas
});
<?php $j = 1;
foreach($user as $userData){?>
user_marker<?php echo $j;?> = new google.maps.Marker({
position: LatLng<?php echo $j;?>,
title: '<?php echo $userData['checkin_email'];?>',
map: mapCanvas,
draggable: false
});
<?php $j++;
}?>
google.maps.event.addListener(marker, 'click', function() {
infoWnd.setContent(html);
infoWnd.open(map, marker);
});
print json_encode($data);
だから私はPHPコードを持っています..その中にJSコードよりも多くのPHPコードがあり、データを$data配列に格納します..そして最後にJSONエンコードされた配列を出力します.
この JSON は、モバイル アプリによって消費されます。JavaScript を追加するまで、すべてが正常に機能していました。それは今でも機能し、実行するために必要なことを実行します。しかし、アプリは応答ですべての Javascript も取得するため、JSON を解析できません。
基本的にウェブページと同じ状況です。ページに JS は表示されません。完全に機能しますが、ソース コード/html を表示すると、すべての JS が表示されます。
どうすればこれを処理できますか? アプリ側で行うフィルタリングはありますか? または、JSON の提供方法を変更しますか? JS が JSON で返されることを望まないだけです。
ありがとう!