Как преобразовать извлеченные данные PHP в массив javascript, содержащий целое число
Извлекая данные из mysql и используя их в javascript, вместо массива с целым числом я получаю строку с кавычками вроде этой:
"var latlong = [[38.4870556,68.8065556],[38.7059167,69.2994444]];"
Что я уже пробовал:
Здесь извлечение данных с помощью PHP:
try { $db = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password, array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8", PDO:: ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ, PDO:: ATTR_ERRMODE => TRUE )); } catch(PDOException $e) { die($e->getMessage()); } $stmt = $db->prepare("SELECT latitude, longitude FROM hydros WHERE latitude <> 0"); $stmt->execute(); $data = []; $result = $stmt->fetchAll(); foreach ($result as $row) { $data [] = [(float)$row->latitude,(float)$row->longitude]; } echo "var latlong = " . (!empty($data) ? json_encode($data) : "]") . ";";
Затем извлечение данных с помощью jQuery
function latlongc(callback) { httpRequest = new XMLHttpRequest(); httpRequest.onreadystatechange = function () { if (httpRequest.readyState === 4) { // request is done if (httpRequest.status === 200) { // successfully callback(httpRequest.responseText); // we're calling our method } } }; httpRequest.open('GET', "latlong.php"); httpRequest.send(); } latlongc(function (result) { latlong1 = result; console.log(latlong1); });
Richard MacCutchan
Посмотрите на последнюю строку вашего php-кода, Вы представляете результат в виде строки.