从MVC 4中的外部JS文件调用Ajax

时间:2017-03-25 09:35:44

标签: asp.net-mvc-4 asp.net-ajax

我正在尝试使用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>')
                   });
               }
           });
       })
    });

1 个答案:

答案 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, 只需检查浏览器通过浏览器网络选项卡上的服务器发布的参数数据