运行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请求赞赏

+0

你能告诉你的按钮处理程序点击?.. – qtgye 2015-02-07 04:55:55

+0

我只加'$( '#anybutton')。点击(函数(){'行'$以上。 ajax({'和我会运行,但我想加载页面时加载名称,所以我删除'onclick'事件,认为它会加载文件准备好时的名称,但它没有显示任何console.log或选项在选择 – guradio 2015-02-07 04:58:53

+0

你的代码应该工作正常,你看到网络请求在开发者控制台 - 网络选项卡? – 2015-02-07 05:20:02

只需在您的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>'); 

      } 
     } 

    }); 
});