[英]jquery ajax post works fine in IE, FF, Chrome but not Safari
[英]Jquery ajax select drop down works in FF and chrome but not IE 7-9
我知道這個問題已經被問過很多次了,大家可能已經厭倦了。 我只是被困住了,已經花了大約4個小時了。 我已經閱讀了許多有關
cache:false,
選項並添加某些“內容類型”,但是當我這樣做時,它在任何瀏覽器中都不再起作用。
我按照此處找到的教程進行操作: http : //www.x-developer.com/php-scripts/loading-drop-downs-with-ajax-php-and-fetching-values-from-database-without-refreshing-這一頁
我當然根據自己的需要修改了它,大部分只是mysql和標識符。
這是我的頭部內容:
<script type="text/javascript">
function get_cities(country)
{
$.ajax({
type: "POST",
url: "/cities.php",
cache: false,
beforeSend: function () {
$("#state").html("<option>Loading ...</option>");
},
data: "country="+country,
success: function(msg){
$("#state").html(msg);
}
});
}
</script>
在IE中,它進入“正在加載...”部分,並且什么也不做,它不會像在Chrome和FF中那樣填充選項字段。
您是否在本教程中看到他可能遺漏的任何內容,這些內容對於IE中的操作至關重要?
謝謝,
嘗試將數據對象設置為鍵值對。
代替
data: "country="+country,
嘗試
data: { "country" : country },
假設您的$("#state")
已經是一個下拉列表。
在cities.php
,您需要刪除<select>
標記。
<?php
// Code for cities.php
$country_id = $_REQUEST['country_id'];
$sql_city = "SELECT * FROM CITY WHERE country_id = '".$country_id."'";
$result_city = mysql_query($sql_city);
// REMOVE THIS LINE
//echo "<select name='city'>";
while($row_city = mysql_fetch_array($result_city))
{
echo "<option value='".$row_city['id']."'>".$row_city['city']."</option>";
}
// AND REMOVE THIS LINE
// echo "</select>";
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.