Używam wtyczki mapy do renderowania niektórych danych. Dane pochodzą z DB i do pliku json - skrypt działa świetnie. Zdecydowałem się użyć danych bezpośrednio z wyjścia php zamiast tworzyć plik json. Z jakiegoś powodu javaScript nie akceptuje bezpośredniego wejścia php. Używam CodeIgniter MVCJak używać JSON-a z db/php w JavaScript
Oto przykładowy kod, który obecnie działa:
$.getJSON('_data/index/data.json', function(data){ ...
Oto, co starałem:
var dataMap = '<? print $mapData;?>';
$.getJSON(dataMap, function(data){...
* EDIT 2 *
Based na odpowiedzi - ta opcja też nie działa.
var dataMap = '<?php echo $mapData;?>';
$.get(dataMap, function(data){...
A oto dane json
{"countries":{"AL":"1","GB":"1","RS":"1","BG":"6","CA":"3","AT":"2","CD":"1"}}
EDIT
$ rzecz firmy MapData jest
FOREACH LOOP
$retdata['countries'][] = strtoupper($row->code);
$retdata['num'][] = $row->num;
ENDFOREACH LOOP
$retdata['countries'] = array_combine($retdat['code'], $retdata['num']);
$retdata = json_encode($retdata);
I to jest drukowane w pliku jako normalne. To jest w modelu, a następnie przekazuję go do kontrolera, a następnie do widoku. Ciąg znaków jest taki sam w pliku $dataMap
, który mam w pliku i ten, który jest wysyłany do widoku.
Spróbuj echo: 'var dataMap = ' echo $ mapData;?> '; ' – peacemaker
Czy możesz nam pokazać czym jest' $ mapData'? '$ .getJSON' jest skrótem do zapytania ajaxowego na serwer. to jest ścieżka/URL do czegoś, co zwraca dane JSON. – peacemaker
print_r ($ mapData) jest taki sam jak powyższe dane json. Kiedy używam echa, konsola dodaje json do linku i drukuje 403 (zabronione) jquery.min.js: 2 – Ando