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