需要帮助查找我的代码有什么问题,以获得超级简单的$ getJSON调用

时间:2010-10-08 03:36:23

标签: jquery

我无法弄清楚为什么当我从$ .getJSON调用它时,下面的这个alert()部分无效?

function parseInfo(data)
    {
       alert("getJSON worked");
    }

Firebug说我使用200 OK代码连接到服务器

<!DOCTYPE html>
 <html lang="en">
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
   <script type="text/javascript">
       $(document).ready(function(){
                 $.getJSON('getData.php', {'data_id' : 'mysql_data'}, parseInfo);
                 });


function parseInfo(data)
{
    alert("getJSON worked");
}

   </script>
</head>
<body>


<form action="getData.php" method="get">
Name: <input type="text" name="fname" />
<input type="submit" />
</form> 


</body>

2 个答案:

答案 0 :(得分:0)

要尝试的事情。

  1. 尝试将jQuery更新为1.4.2。
  2. 将您的数据代码更改为:{data_id:'mysql_data'}
  3. 使用firebug检查请求/响应。这对于确定发送的确切内容非常重要。接收

答案 1 :(得分:0)

Doc here.

第1部分

我认为最好将回调直接放在getJSON()方法中。

$(document).ready(function(){
        // DATA IS LOADED FIRST AND PARSED TO GET READY TO ME MAPPED AND PUT INTO SORTABLE TABLES
        $.getJSON("getData.php",
            function(json){
                alert( "Got JSON Data  ");
                //DO STUFF HERE
                    }
                    }

第2部分

我简化了.php文件

getData.php可以简单地看起来像这样:

$all_tdys = array();
echo json_encode($all_tdys);

第3部分

因为@mway警告我确保传递数组而不是MySQL对象。