У меня проблема с отправкой json-данных.
Вот мой php файл:
<?php
session_start();
$con = mysql_connect("localhost","root","");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("db", $con);
$result_array = array();
$result = mysql_query("SELECT Reg FROM bool");
while ($row = mysql_fetch_array($result))
$result_array[] = $row;
echo json_encode($result_array);
mysql_close($con);
?>
И вот мой сценарий js:
$(function () {
$(document).ready(function() {
$.getJSON("sql_bool.php", function(data) {
alert(data[1]);
});
});
});
У меня есть данные bool, хранящиеся в моей базе данных, и когда я пытаюсь проверить с помощью функции alert(), если она прошла, все, что я получаю, - это окно предупреждения с
[object Object]
Любая идея, что неправильно?
Похоже, все прошло хорошо. Когда вы вызываете оповещение в JavaScript, он превращает все, что вы предупреждаете, в строку. В этом случае ваш объект как строка будет [object object].
Вы можете попробовать:
для (var k в данных [1]) {alert (k); alert(data[1][k]); оповещение (данные [1] [K]); } }
То, что вы получаете, это объект, закодированный JSON. Если вы дадите это javascript, используя getJSON, он будет обрабатывать его как объект. Если вы хотите увидеть фактическую строку, полученную с сервера, вы можете попробовать следующее:
alert(JSON.stringify(data));
Это должно выводить все, что вы получили от PHP-скрипта, читаемым образом :)
console.log(data)
?alert
слишком грубое. (Обязательно откройте консоль отладки; F12 в большинстве браузеров).