【问题标题】:jQuery Ajax call to web method?jQuery Ajax 调用 Web 方法?
【发布时间】:2014-07-31 00:55:36
【问题描述】:

我正在调用 webmethod 来填充选择标签。成功返回但不填充选择选项

这是我的电话

function getCities(country2) {
        $.ajax({
            type: 'POST',
            url: 'getCities.aspx/getCitiesArray',
            contentType: 'application/json; charset=utf-8',
            dataType: "json",
            data: "{countryName:'" + (country2) + "'}",
            success: function (msg) {
                alert(msg);
                $("#city").empty().append($("<option></option>").val("[-]").html("select city"));
                $("#city").append($("<option></option>").val("Other").html("Not in the List"));
                var htm = "";
                $.each(msg.d, function () {
                    $("#city").append($("<option></option>").val(this['Value']).html(this['Text']));
                });
            },
            error: function () {
                alert("Ajax Error");
            }
        });


以及 Visual Studio 2005 中的 Web 方法。ASP.NET 2.0

[WebMethod]
        public static ArrayList getCitiesArray(string countryName)
        {
            ArrayList emptyArrayList = new ArrayList();
            string sql = "select ISNULL(CityName,'-') as CityName, ISNULL(CityCode,1) as CityCode from ListCities where CountryID = (select ISNULL(CountryID,0) from ListCountries where CountryName = '" + countryName + "')";
            DataTable dtCities = new DataTable();
            dtCities = DBUtils.GetDataTable(sql);
            ArrayList lstArrCities = new ArrayList();
            if ((dtCities != null) && (dtCities.Rows.Count > 0))
            {                
                for (int i = 0; i < dtCities.Rows.Count; i++)
                {
                    lstArrCities.Add(new ListItem(dtCities.Rows[i]["CityName"].ToString(), dtCities.Rows[i]["CityCode"].ToString()));                    
                }                                
                return lstArrCities;
            }
            return emptyArrayList;
        }

【问题讨论】:

  • 您仍在使用带有 ASP.NET 2.0 的 Visual Studio 2005?真的??????
  • 看看这个问题和我写的答案stackoverflow.com/questions/18244696/… 以及cmets中链接的问题。
  • AJAX 调用返回的 msg 的值是多少?

标签: jquery asp.net ajax webmethod


【解决方案1】:

我建议您花更多时间调试代码以找出问题的根源。 N首先将问题的原因归结为客户端或服务器。例如:

  1. 从 AJAX 调用返回的 msg 的值是多少?如果它为 NULL 或发生意外,请停止查看客户端并在重新攻击前端之前深入研究服务器端代码。
  2. 当您在应用程序外部运行 SELECT SQL 时,它会返回什么?如果它没有返回任何数据,您需要更深入地了解数据库并在数据方面工作。

根据您粘贴的代码很难确定您的问题的答案 - 尤其是在没有您的数据的情况下。

将其分解为各个组成部分,然后才能继续构建。祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-06
    • 1970-01-01
    • 2015-08-24
    • 2012-05-28
    相关资源
    最近更新 更多