JQUERY JSON AJAX 可以离线工作,但不能在线工作

标签 jquery mysql ajax json

我得到了这个代码。它在我的本地主机上工作得非常好,但是当我把它放到网上时,它只将数据保存到数据库中,但似乎没有加载它。

当我通过 ajax 将字符串从 api.php 传递到站点时,它可以工作。所以可能和json有关系。另一方面,我正在尝试 http://api.jquery.com/jQuery.getJSON/ 中的 get_json 示例。在我的服务器上,这也有效。

我尝试了很多不同的东西,比如 jsonp、json-fallback 等等,但似乎没有任何效果。

这是代码:

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);
?>

在后端的某个地方:

$.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);
            }
    }
}); 

感谢任何帮助!

最佳答案

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

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

你应该关闭它,同时对 $row 进行 json 编码,而不是对 $data 进行编码

关于JQUERY JSON AJAX 可以离线工作,但不能在线工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8406595/

相关文章:

javascript - 来自 Ajax 响应的数据无法加载到 HighChart 中

jquery - 使用 JQuery 和 Jquery-svg 可拖动 SVG

jquery - 如何动态地将数据从div正确复制到新窗口

javascript - 在更改功能后使用jQuery选择一个对象,修改了需要选择的元素的html结构

mysql - 从两个或多个表中检索数据

MySQL文本分组

mysql - AWS Linux - 用于编辑数据包大小的 MySQL cnf 文件在哪里?

javascript - 使用 AJAX 和 PHP 检查用户是否存在

javascript - jquery中如何知道ajax是否完成?

jquery - 如何给jqgrid添加多列排序?