.net老项目中Jquery访问webservice
1. xml类型返回
javascript
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#代码
csharp
[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返回
javascript
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#代码
csharp
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);
}