Как JSON данные, используя $ .getJSON из файла php? - PullRequest
0 голосов
/ 19 октября 2010

У меня есть php-файл, который получает данные из таблицы mySQL. В таблице mySQL 'user_spec' есть только одно поле 'options', которое она возвращает. Затем я конвертирую возвращенные данные в JSON, если это делается кодом.

<?php 
 $username = "user"; 
 $password = "********"; 
 $hostname = "localhost"; 
 $dbh = mysql_connect($hostname, $username, $password) or die("Unable to connect  
         to MySQL"); //print "Connected to MySQL<br>"; 
 $selected = mysql_select_db("spec",$dbh) or die("Could not select first_test"); 
 $query = "SELECT * FROM user_spec"; 
 $result=mysql_query($query);  
 echo json_encode(mysql_fetch_assoc($result)); 
?> 

затем в файле HTML я пытаюсь вывести данные с помощью этого куска кода, но он не работает. Я буду очень благодарен за любую помощь.

<html>
    <head>
    <script type="text/javascript"   
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript" language="javascript">
    function Preload() {
    $.getJSON("Dhttp://localhost/conn_mysql.php", function(json){
    alert("JSON Data: " + json.user_spec);
    });}

    </script></head>
    <body onLoad="Preload()">
    </body>
    </html> 

Ответы [ 2 ]

0 голосов
/ 19 октября 2010

Я думаю, что вместо использования адреса файла: "D: ​​xampp / htdocs / conn_mysql.php" вы должны использовать URL, определенный в xampp, например "http://localhost/mytest/conn_mysql.php"

Другая вещь, на которую вам нужно обратить внимание, это метод. $. GetJSON (http://api.jquery.com/jQuery.getJSON/),, как следует из названия, работает с методом GET. Возможно, вам следует попробовать $. Post или $. Ajax (http://api.jquery.com/jQuery.post/).

Oh! И чтобы запустить ваш скрипт, не все браузеры поддерживают . Кроме того, он ожидает загрузки страницы, а не DOM, что иногда может вызвать проблемы с вашими скриптами. Вы должны использовать $ ('document'). Ready (function () , которая ожидает загрузки DOM. Таким образом:

<script type="text/javascript">
$('document').ready(function()
{

    $.getJSON("D:xampp/htdocs/conn_mysql.php", function(json){
    alert("JSON Data: " + json.options);

});
</script>

Надеюсь, это может быть полезно! ^^

0 голосов
/ 19 октября 2010
  1. Jquery отсутствует? Я предполагаю, что вы дали нам образец своего HTML-файла и у вас есть ссылка на скрипт jquery на странице.
  2. Синтаксисerror? как писал Феликс - используйте консоль firebug или аналогичную для обнаружения ошибок.
  3. PHP error? попытайтесь получить ответ json с помощью браузера - посмотрите, что вы получили ответ.
  4. Ошибка адреса? попробуйте использовать абсолютную ссылку вместо относительной ссылки

Надеюсь, что это даст вам несколько вариантов, чтобы сузить проблему, с которой вы столкнулись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...