我的代码中有一个AJAX更改功能..在本地服务器上工作正常......在WAMP ...但是不能在远程服务器上执行...可能是哪里出问题??? 我也检查了服务器php的版本......
我的代码..
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$(".course").change(function()
{
var id=$(this).val();
var dataString = 'id='+ id;
$.ajax
({
type: "POST",
url: "ajaxfile.php",
data: dataString,
cache: false,
success: function(html)
{
$(".book").html(html);
}
});
});
});
</script>
Course :
<select name="course" class="course">
<option selected="selected">--Select Course--</option>
<?php
include "db.php";
$sql ="select * from Courses";
$query=mysqli_query($connection,$sql);
while($row=mysqli_fetch_array($query))
{
$id=$row['Cid'];
$name=$row['Course'];
echo '<option value="'.$name.'">'.$name.'</option>';
} ?>
</select>
Album :
<select name="book" class="book">
<option selected="selected">--Select Book--</option>
</select>
ajaxfile.php
<?php
include('db.php');
if($_POST['id'])
{
$id=$_POST['id'];
$sql ="select BookTitle from bookcode where Courses='$id'";
$result=mysqli_query($connection,$sql);
while($row=mysqli_fetch_array($result))
{
$id=$row['id'];
$data=$row['BookTitle'];
echo '<option value="'.$id.'">'.$data.'</option>';
}
}
?>
答案 0 :(得分:0)
问题在于这一行:
echo '<option value="'.$name.'">'.$name.'</option>';
将其更改为:
echo '<option value="'.$id.'">'.$name.'</option>';
为什么呢?因为在ajax中,您传递的是ID而不是名称:var dataString = 'id='+ id;
答案 1 :(得分:0)
我认为你对ajaxfile.php
有某种访问问题您可以尝试将网址设置为“/ajaxfile.php”,如果它位于网络上可访问的主目录中,或者使用完整路径,例如“http://'将您的网址放在此处'/ ajaxfile.php”