我正在尝试使用ajax通过外部js文件检索有关国家ID选择的城市数据,并注意我的代码在本地运行。 问题是当我使用内部jquery函数时,即在MVC视图中,我能够在选择国家时正确地加载城市下拉列表,当我使用单独的JS文件尝试相同时,城市下拉列表没有被加载。
下面是Ajax调用..
$(document).ready(function () {
$("#Country").change(function () {
$.ajax({
type: 'POST',
url: '@Url.Action("GetCities")',
data: { id: $("#Country").val() },
success: function (data) {
$("#City").empty();
$("#City").append('<option value=" ' + 0 + ' ">' + "---Select---" + '</option>')
$.each(data, function (i, City) {
$("#City").append('<option value="' + City.value + '">' + City.Text + '</option>')
});
}
});
})
});
答案 0 :(得分:0)
尝试调试代码并检查正确的url和参数发布服务器。
$("#Country").change(function () {
debugger;
var dropdnSelectedVal = $(this).val();
console.log(dropdnSelectedVal);
$.ajax({
type: 'POST',
dataType: "json",
url: '@Url.Action("GetCities")',//here is the issue, Its can not be parsed in external js file
data: { id: $("#Country").val() },
success: function (data) {
debugger;
var responseDataFromServer = data;
console.log(data);
$("#City").empty();
$("#City").append('<option value=" ' + 0 + ' ">' + "---Select---" + '</option>')
$.each(data, function (i, City) {
$("#City").append('<option value="' + City.value + '">' + City.Text + '</option>')
});
}
});
})
});
OR, 只需检查浏览器通过浏览器网络选项卡上的服务器发布的参数数据