如何使用PHP文件中的$ .getJSON来获取JSON数据?

时间:2010-10-19 09:20:28

标签: php javascript jquery mysql json

我有一个从mySQL表接收数据的php文件。 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 :(得分:0)

  1. Jquery缺少?我假设您向我们提供了HTML文件的示例,并且您在页面上引用了jquery脚本。
  2. 语法错误?正如Felix写的那样 - 使用firebug或类似的控制台来检测错误。
  3. PHP错误?尝试使用浏览器获取json响应 - 看到您收到回复。
  4. 地址错误?尝试使用绝对链接而不是相对链接
  5. 希望这能为您提供一些选项,以缩小您正面临的问题。

答案 1 :(得分:0)

我认为不是使用文件地址:“D:xampp / htdocs / conn_mysql.php”,您必须使用xampp定义的网址,例如“http:// localhost / mytest的/ conn_mysql.php“

您需要注意的另一件事是方法。正如其名称所示, $。getJSON http://api.jquery.com/jQuery.getJSON/ )与GET方法一起使用。也许你应该尝试 $。发布 $ .ajax http://api.jquery.com/jQuery.post/ )。< / p>

哦!要启动脚本,并非所有浏览器都支持&lt; body onload =“”&gt;。此外,它等待加载页面,而不是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>

我希望它有用! ^^