我正在重新設計我的網站以使其基於WordPress,並且在此過程中,我需要導入一些PHP/jQuery。我發現它在original page上正常工作,但不是new one。JSON在一個地方工作,但不是另一個地方
這裏有JSON的結果轉儲:
在這兩種情況中的代碼是:
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type: "post",
url: "eventinfo.php",
data: $('#club').serialize(),
success: function(data) {
$('#right_inside').html('<h2>' + $('#club').val() + '<span style="font-size: 14px"> (' + data[0].day + ')</h2><p>Entry: ' + data[0].entry + '</p><p>Queue jump: ' + data[0].queuejump + '</p><p>Guestlist closes at ' + data[0].closing + '</p>');
},
dataType: "json"
});
});
$('#club').change(function(event) {
$.ajax({
type: "post",
url: "eventinfo.php",
data: $(this).serialize(),
success: function(data) {
$('#right_inside').hide().html('<h2>' + $('#club').val() + '<span style="font-size: 14px"> (' + data[0].day + ')</h2><p>Entry: ' + data[0].entry + '</p><p>Queue jump: ' + data[0].queuejump + '</p><p>Guestlist closes at ' + data[0].closing + '</p>').fadeIn('500');
},
dataType: "json"
});
});
</script>
的d我eventinfo.php是:
<?php
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');
include('guestvibe_functions.php');
connect();
$night = $_POST['club'];
$night = mysql_real_escape_string($night);
$query = "SELECT * FROM nights WHERE name = '" .$night. "'";
$result = mysql_query($query);
$items = array();
if($result && mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_array($result)) {
$items[] = array("entry"=>$row['entry'], "day"=>getLongDateString($row['day']), "queuejump"=>$row['queue jump'], "closing"=>$row['closing']);
}
}
mysql_close();
// convert into JSON format and print
echo json_encode($items);
?>
這是爲時已晚,所以我希望我已經解釋了這個好。任何想法有什麼不對?
編輯
我要補充一點,兩者是同一臺服務器上/託管計劃。新的只是一個目錄。
感謝您的回覆。我可以確認serialize()確實包含一個名爲club的變量,因爲它可以在jQuery中打印。發生問題的地方是將該變量傳遞給eventinfo.php以返回對應於'club'的數據庫值。你從哪裏獲得該eventinfo網址?考慮到它不存在,404是可以理解的。 – Sebastian