AJAX更改功能

时间:2016-02-19 15:39:29

标签: php ajax

我的代码中有一个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>';
}
}

?>

2 个答案:

答案 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”