Javascript 在 document.ready jquery 上运行 ajax 请求

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/28378705/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-23 01:42:29  来源:igfitidea点击:

Run ajax request on document.ready jquery

javascriptphpjqueryhtmlajax

提问by guradio

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

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);
    }
}

I want to display the all the city in japan in a select option menu i want to load the cities when the page loads i am sending the ajax request like above but i don't get any result the ajax above works fine when i use it on button. Is sending ajax request different from on button click and on document ready..Any suggestion how to make ajax request on document ready is appreciated

我想在选择选项菜单中显示日本的所有城市 我想在页面加载时加载城市 我正在发送像上面那样的 ajax 请求,但我没有得到任何结果上面的 ajax 在我使用它时工作正常在按钮上。发送 ajax 请求与单击按钮和文档准备好不同。 任何建议如何在文档准备好时发出 ajax 请求表示赞赏

回答by Vidya S Masani

Just try setting async:falsein your ajax request. So the final code will be

只需尝试async:false在您的 ajax 请求中设置。所以最终的代码将是

$(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>');

            }
        }

    });
});