.net老项目中Jquery访问webservice
1. xml类型返回
jQuery.ajax({type: "POST",async: false,url: "WebService/Evection.asmx/GetCheckUpApplyEForm",contentType: "application/json",data: "{lngEvectionID:" + eformSNOriginal + "}",dataType: 'xml', //返回的类型为XML ,和前面的Json,不一样了success: function(result) {//演示一下捕获try {$(result).find("NewDataSet").each(function() {if (!bool) {jQuery("#dtmOperatorDate_corres").val($(this).find("WebFlowGlideNo").text());jQuery("#strCheckUpSubsidy").val($(this).find("strCheckUpSubsidy").text());bool = true;}});}catch (e) {alert(e);return;}},error: function(result, status) { //如果没有上面的捕获出错会执行这里的回调函数if (status == 'error') {return showError("健康申请列表载入出错。");}}});
对应c#代码
[WebMethod][ScriptMethod(ResponseFormat = ResponseFormat.Xml)]public DataSet GetCheckUpApplyEForm(int lngEvectionID){clsEvectionApply obj = new clsEvectionApply();DataSet ds = new DataSet();ds = obj.GetCheckUpApplyEForm(lngEvectionID);return ds;}
json返回
function loadEvectionDetailList(beginDate, endDate) {var arrBgColor = ["#f2effe", "#fafafa"];var table = $("#tabEvection");var arrObj = null;table.find("tr:not(:first)").remove();$.ajax({type: "POST",contentType: "application/json",async: false,url: "../../WebService/Evection.asmx/GetFlowDataDetailJson",dataType: 'json',data: "{employeeID:'" + $N("bnEmployeeID_TextValue").value + "',beginDate:'" + beginDate + "',endDate:'" + endDate + "',showType:4}",success: function (result) {arrObj = $.parseJSON(result.d).NewDataSet;}});if (arrObj != null) {for (var i = 0; i < arrObj.length; i++) {var tr = $("<tr>");tr.css("background-color", arrBgColor[i % 2]);tr.append($("<td><input type=radio name=radEForm value=" + arrObj[i]["lngCheckUpID"] + "," + arrObj[i]["WebFlowGlideNo"] + "," + arrObj[i]["strCheckUpSubsidy"] + "></td>"));tr.append($("<td>" + arrObj[i]["WebFlowGlideNo"] + "</td>"));tr.append($("<td>" + arrObj[i]["strEmployeeName"] + "</td>"));tr.append($("<td>" + arrObj[i]["dtmOperatorDate"] + "</td>"));tr.append($("<td>" + arrObj[i]["strRealApplyerName"] + "</td>"));tr.append($("<td>" + arrObj[i]["strTWJobName"] + "</td>"));tr.append($("<td>" + arrObj[i]["strCheckUpSubsidy"] + "</td>"));tr.append($("<td>" + arrObj[i]["strYear"] + "</td>"));tr.append($("<td>" + arrObj[i]["strCheckpoint"] + "</td>"));tr.append($("<td>" + arrObj[i]["strCheckDate1"] + "</td>"));tr.append($("<td>" + arrObj[i]["strCheckDate2"] + "</td>"));tr.append($("<td>" + arrObj[i]["strAuditName"] + "</td>"));tr.append($("<td>" + arrObj[i]["dtmAuditDate"] + "</td>"));tr.append($("<td>" + arrObj[i]["strRemark"] + "</td>"));table.append(tr);}}}
对应c#代码
using Newtonsoft.Json;[WebMethod][ScriptMethod(ResponseFormat = ResponseFormat.Json)]public string GetFlowDataDetailJson(int employeeID, DateTime beginDate, DateTime endDate, int showType){clsEvectionApply obj = new clsEvectionApply();DataSet ds = new DataSet();ds = obj.GetFlowDataDetail(employeeID, beginDate, endDate, showType);return JsonConvert.SerializeObject(ds);}