php - 我的 ajax 请求响应挂起我的 Firefox 浏览器?
问题描述
我在 php 中使用 ajax 为国家和城市创建了可靠的下拉列表。如果我在 Chrome 或 Opera 中运行它,它可以工作,但如果我在 Firefox 中运行它,浏览器会挂起
$(document).ready(function(){
$('#country').on('change',function(){
var country_id=$(this).val();
$.ajax({
type:'POST',
url:'ajax/get_state.php',
data:{country_id:country_id},
success:function(data){
$('#state').html(data);
},
error:function(){
}
});
});
$('#state').on('change',function(){
var state_id=$(this).val();
$.ajax({
type:'POST',
url:'ajax/get_city.php',
data:{state_id:state_id},
success:function(data){
$('#city').html(data);
},
error:function(){
}
});
});
});
这是get_state.php:-
<?php
include '../config.php';
if(isset($_POST['country_id'])){
$sql = mysqli_query($db_connect,"SELECT * FROM states where country_id = '".$_POST['country_id']."'") or die(mysqli_error($db_connect));
?>
<option value="0">Select State</option>
<?php
while($row = mysqli_fetch_array($sql)){
echo "<option value=".$row['id'].">".$row['name']."</option>";
}
}
?>
这是get_city.php:-
<?php
include '../config.php';
if(isset($_POST['state_id'])){
$sql = mysqli_query($db_connect,"SELECT * FROM cities where state_id = '".$_POST['state_id']."'") or die(mysqli_error($db_connect));
?>
<option value="0">Select City</option>
<?php
while($row = mysqli_fetch_array($sql)){
echo "<option value=".$row['id'].">".$row['name']."</option>";
}
}
?>
这是我的 ajax 和所有 ajax php 代码。此代码在其他浏览器中运行良好,但如果我在 Firefox 中运行,则 Firefox 挂起。
解决方案
使用此代码更改您的代码,它将开始正常工作。
$(document).ready(function(){
$(document).on('change','#country',function(){
var country_id=$(this).val();
$.ajax({
type:'POST',
url:'ajax/get_state.php',
data:{country_id:country_id},
success:function(data){
$('#state').html(data);
},
error:function(e){
alert(e);
}
});
});
$(document).on('change','#state',function(){
var state_id=$(this).val();
$.ajax({
type:'POST',
url:'ajax/get_city.php',
data:{state_id:state_id},
success:function(data){
$('#city').html(data);
},
error:function(e){
alert(e);
}
});
});
});
我在这里做了两个改变
- 我
$(document).ready(function(){
改用 if$('#country').on('change',function(){
- 并且还发现这里有
$('#country,').
额外的逗号是错误的。
推荐阅读
- reactjs - REACT - 使用本地存储来更新组件
- java - 如何在 Windows 7 上双击运行 .jar 文件
- php - 为 PHP 应用程序中的现有 REST API 创建 Swagger API 文档
- javascript - 固定位置的导航栏问题
- java - Redis 管道使用
- matlab - 图像修复 | 油漆相干()
- javascript - 有没有办法在我的不和谐机器人中为每个用户添加自定义前缀?
- python - 我的不和谐机器人有一个错误“回溯(最近一次通话最后一次):”
- python - skimage 过滤选定区域
- javascript - 如何将 vue 实例克隆到另一个 dom 节点