运行Ajax请求
问题描述:
阿贾克斯运行Ajax请求
$(document).ready(function() {
$.ajax({
type: 'POST',
url: '../include/ListOfCities.php',
dataType: "json",
data: {
Country: "Japan"
},
success: function(data) {
console.log(data);
var city = ('#city');
$(city).empty();
for (var i = 0; i < data.length; i++) {
$(city).append('<option id=' + data[i].sysid + ' value=' + data[i].city_name + '>' + data[i].city_name + '</option>');
}
}
});
});
PHP
$country = mysql_real_escape_string($_POST['Country']);
$stmt = $dbh->prepare("SELECT * FROM city_tbl WHERE country_name = ? ");
$stmt->bindValue(1, $country, PDO::PARAM_STR);
if ($stmt->execute()) {
if ($stmt->rowCount() > 0) {
while ($selected_row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$citylist[] = array('sysid' => $selected_row['sys_id'], 'code' => $selected_row['city_code'], 'name' => $selected_row['city_name'], 'parentid' => $selected_row['parent_id']);
}
$input = array_map("unserialize", array_unique(array_map("serialize", $citylist)));
echo json_encode($input, JSON_UNESCAPED_UNICODE);
}
}
我想在选择选项菜单,显示在日本的所有城市,我要加载的城市时,页面加载我发送像上面的ajax请求,但我没有得到任何结果上面的Ajax工作正常,当我在按钮上使用它。发送ajax请求不同于按钮点击和文档准备。任何建议如何使文档准备好ajax请求赞赏
答
只需在您的ajax请求中设置async:false
即可。所以最终的代码将
$(document).ready(function() {
$.ajax({
type: 'POST',
url: '../include/ListOfCities.php',
dataType: "json",
async:false,
data: {
Country: "Japan"
},
success: function(data) {
console.log(data);
var city = ('#city');
$(city).empty();
for (var i = 0; i < data.length; i++) {
$(city).append('<option id=' + data[i].sysid + ' value=' + data[i].city_name + '>' + data[i].city_name + '</option>');
}
}
});
});
你能告诉你的按钮处理程序点击?.. – qtgye 2015-02-07 04:55:55
我只加'$( '#anybutton')。点击(函数(){'行'$以上。 ajax({'和我会运行,但我想加载页面时加载名称,所以我删除'onclick'事件,认为它会加载文件准备好时的名称,但它没有显示任何console.log或选项在选择 – guradio 2015-02-07 04:58:53
你的代码应该工作正常,你看到网络请求在开发者控制台 - 网络选项卡? – 2015-02-07 05:20:02