我正在重新设计我的网站以使其脱离WordPress,在此过程中,我需要导入一些PHP / jQuery。我发现它在original page上工作正常,但在new one上没有。
以下是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>
我的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);
?>
已经很晚了,所以我希望我已经解释过了。任何想法有什么不对?
修改
我应该补充说两者都在同一台服务器/托管计划上。新的只是一个目录。
答案 0 :(得分:0)
我认为你可能在新的PHP服务器上有更新版本的PHP或不同的服务器设置。
答案 1 :(得分:0)
我看到两种可能性。
首先,在新网站上,当旧网站中的时候,AJAX没有填充club =变量。然后你必须发现为什么serialize()不包含一个名为'club'的变量。
第二个是,即使在旧网站中,club =变量也未必填充,而您只是没有收到通知警告。
在这种情况下,修改
中的代码$night = $_POST['club'];
在
$night = isset($_POST['club']) ? $_POST['club'] : '';
应该解决问题。
<强>更新强>
我检查了网站,但我收到的eventinfo
网址与您引用的网址不同。我的Firefox得到的是:
http://www.guestvibe.com/wordpress/eventinfo.php
...导致404错误。