JQUERY JSON AJAX可以脱机工作,但不能联机

JQUERY JSON AJAX可以脱机工作,但不能联机,jquery,mysql,ajax,json,Jquery,Mysql,Ajax,Json,我有这个密码。它在我的本地主机上运行得非常好,但当我将其联机时,它只将数据保存到数据库中,但似乎没有加载数据 当我通过ajax将一个字符串从api.php传递到站点时,它就工作了。因此,这可能与json有关。另一方面,我在我的服务器上尝试了get_json示例,这也很有效 我尝试了许多不同的方法,比如jsonp、json回退等等,但似乎没有任何效果 代码如下: api.php: <?php include('db.php'); $con = mysql_connect($host,$use

我有这个密码。它在我的本地主机上运行得非常好,但当我将其联机时,它只将数据保存到数据库中,但似乎没有加载数据

当我通过ajax将一个字符串从api.php传递到站点时,它就工作了。因此,这可能与json有关。另一方面,我在我的服务器上尝试了get_json示例,这也很有效

我尝试了许多不同的方法,比如jsonp、json回退等等,但似乎没有任何效果

代码如下:

api.php:

<?php
include('db.php');
$con = mysql_connect($host,$user,$pass);
$dbs = mysql_select_db($databaseName, $con);
$tableName = $_GET['page'];
$category = $_GET['category'];
$date = $_GET['date'];

if ($date == Null){
if ($category <> Null){
$result = mysql_query("SELECT * FROM $tableName WHERE category LIKE '$category'");  
}else {
$result = mysql_query("SELECT * FROM $tableName"); 
}
}else{
$result = mysql_query("SELECT * FROM $tableName WHERE date LIKE '$date'"); 
}

$data = array();
while ( $row = mysql_fetch_row($result))
{
echo json_encode($data);
?>

感谢您的帮助

我没有详细研究这一点,但这可能是您的问题:

$data = array();
while ( $row = mysql_fetch_row($result))
{
echo json_encode($data);
?>
您应该关闭该窗口,同时对$行进行json编码,而不是$数据

检查您的控制台(firefox或chrome按F12>,单击
控制台
,查看任何错误?,将其发布到您的问题中

还可以使用内置的错误处理程序
$.ajax

$.ajax({  
url: 'api.php?page=home',
data: "",
dataType: 'json',
success: function(rows) {
    for (var i in rows){
            var row = rows[i];  
            var vdate = row[0];
            var vtitle = row[1];
            var vcontent = row[2];
            $('#edate').val(vdate);
            $('#etitle').val(vtitle);
           $('#econtent').val(vcontent);
        }
},
// Any HTTP Errors will be alerted.
error: function (xhr, ajaxOptions, thrownError){
    alert(xhr.status);
    alert(thrownError);
}
});

主要是。检查你的控制台是否有错误。它一定是在你的控制台或上面的处理程序中抛出了错误。

你的web服务器日志中有错误吗?或php错误?或mysql错误?或浏览器中有错误吗?啊,谢谢你的快速回复。我刚刚将它上载到另一台服务器,现在它可以工作了……很好:)
$.ajax({  
url: 'api.php?page=home',
data: "",
dataType: 'json',
success: function(rows) {
    for (var i in rows){
            var row = rows[i];  
            var vdate = row[0];
            var vtitle = row[1];
            var vcontent = row[2];
            $('#edate').val(vdate);
            $('#etitle').val(vtitle);
           $('#econtent').val(vcontent);
        }
},
// Any HTTP Errors will be alerted.
error: function (xhr, ajaxOptions, thrownError){
    alert(xhr.status);
    alert(thrownError);
}
});