使用ajax调用webservice的接口方法


注意:调用的时候,前台js里面的那个参数和后台接口的方法的参数名字和字母大小写一定要一样的。

1.前台的代码如下:

$(function () {

    var categoryNum = "002007";
    var requestData = " { \"categoryNum\": \"" + categoryNum + "\"} ";


    $.ajax({
        url: prexUrl + "SmtpService/HkmhWebService/HkmhCommonService.asmx/getMaxMinYear",
        type: "post",
        contentType: "application/json; charset=utf-8",
        data: requestData,
        dataType: "json",
        async: true,
        success: function (data) {
            var html = "";
            var rtData = data.d;
            var repData = eval("(" + rtData + ")");
            $("#getYear").empty();

            var MaxYearInfo = repData.Year[0]["MaxYear"];   //最大年份
            var MinYearInfo = repData.Year[0]["MinYear"];    //最小年份

            if ((MaxYearInfo - MinYearInfo) == 0) {
             
                //只加一年
                html += "<option value=\"" + MaxYear + "\">" + MaxYear + "年</option>";
            }
            else if ((MaxYearInfo - MinYearInfo) == 1) {
                //只加最大一年和最小一年
                html += "<option value=\"" + MaxYearInfo + "\">" + MaxYearInfo + "年</option>";
                html += "<option value=\"" + MinYearInfo + "\">" + MinYearInfo + "年</option>";
            }
            else {
                var diffTime = parseInt(MaxYearInfo) - parseInt(MinYearInfo);
                for (var i = 0; i <= diffTime; i++) {
                    html += "<option value=\"" + parseInt(parseInt(MaxYearInfo) - i) + "\">" + parseInt(parseInt(MaxYearInfo) - i) + "年</option>";
                }
            }

            $("#getYear").append(html);
        },
        error: function (data, status) {
            $("#getYear").empty();
            $("#getYear").append("网络连接超时!请检查网络...");
        }
    });

});

2.后台接口的asmx代码如下:

   public class HkmhCommonService : System.Web.Services.WebService
     {
        public string getMaxMinYear(string categoryNum)
        {
            string strSql = "select top 1 max(infodate) MaxInfodate,min(infodate) MinInfodate from view_infomain where CategoryNum like '" + categoryNum + "' and InfoStatusCode = 9 ";
            DataView dv = new Epoint.Common.DBOperate().ExecuteSQL_ToDataView(StrConstring, strSql);
            var Params = "{\"Year\":[{\"MaxYear\":\"0\",\"MinYear\":0}]}";
            if (dv.Count <= 0)
            {
                return Params;
            }

            string MaxYear = dv[0]["MaxInfodate"].ToString().Substring(0, 4);
            string MinYear = dv[0]["MinInfodate"].ToString().Substring(0, 4);
            //Params = "{'MaxYear':'"+MaxYear+"' ,'MinYear':'"+MinYear+"' }";
            Params = "{\"Year\":[{\"MaxYear\":\"" + MaxYear + "\",\"MinYear\":\"" + MinYear + "\"}]}";
            return Params;
        }
      }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM