我有一個網頁,需要從數據庫中加載一些數據。爲了做到這一點,我使用jQuery的$ .post的功能,它加載一個名爲photoList.php文件,內容如下:通過jQuery的ajax數據不發送
*(photoList.php)*
<?php
include 'mysqlConnect.php';
$query = mysql_query("SELECT name FROM images");
$photoList = Array();
while ($row = mysql_fetch_assoc($query))
{
$photoList[] = $row['name'];
}
echo json_encode($photoList);
?>
*(jquery code which **is** being executed)*
$(document).ready(function(){
var photoList;
var photoCount;
$.getJSON("photoList.php", {}, processList);
function processList(data) {
photoList = data;
photoCount = photoList.length;
initialize();
}
});
*(this goes on and does some other stuff with initialize()).*
通過初始化()的數據從數據庫中獲取-image filenames-應該顯示在網頁中。問題是:每當我在我的電腦(Apache,Windows機器)嘗試它時,一切正常,圖像顯示。當我上傳我的虛擬主機(apache,linux機器)時,他們沒有,沒有出現。
這不是它發生的唯一部分;我有另外一個類似的代碼,其中我將一個javascript數組編碼爲JSON,然後通過ajax將它發送給一個php文件,該文件稍後解碼並將數據上傳到數據庫。這又一次,在我的電腦上工作,但是當我上傳它時,它不會。
我試着檢查代碼停止工作的部分,至少在最後一個,數組完全編碼爲json,但後來,當php應該獲取數據時,數組顯示爲空。
任何想法? =/
遵循你的提示,並用Firebug檢查了php文件的反應是什麼;似乎我的網絡主機在每個頁面插入了一段隨機代碼,其中包含廣告和計數器,這會干擾json編碼。我會檢查是否有辦法避免這種情況,否則我將不得不尋找另一個虛擬主機。非常感謝你:) – nagitsu 2009-09-27 05:08:20
很高興你知道了。 Firebug是我無法想象的沒有Web開發的事情。 – 2009-09-27 05:32:14