2011-12-06 20 views
0

私はこのコードを取得しました。私のlocalhost上で絶対に正常に動作しますが、私はそれをオンラインにするとデータをデータベースに保存するだけですが、ロードしていないようです。JQUERY JSON AJAXはオフラインで動作しますが、オンラインではありません

私はapi.phpからajax経由でサイトに文字列を渡すと動作します。だから多分それは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); 
      } 
    } 
}); 

任意の助けに感謝します!

+2

ウェブサーバーのログにエラーがありますか?またはPHPのエラー?またはmysqlエラー?またはブラウザのエラー? – ManseUK

答えて

2

私は非常に詳細にこれを検討していないが、これはおそらくあなたの問題です:

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

あなたはその中を閉じても、JSON $データ

0

を$行をエンコードしていない、あなたのコンソールをチェックしなければなりません(Firefoxやクロムを押しF12>あなたの質問にそれらを投稿する?すべてのエラーを参照してください、Consoleをクリックして。

また、エラーハンドラに建て$.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); 
} 
}); 

主に ..コンソールのエラーを確認してください。コンソール、または上記のハンドラにエラーを投げている必要があります。

+0

お返事ありがとうございました。私はちょうど別のサーバーにそれをアップロードし、今それは動作します...まあ.. :) – HSRF

関連する問題