ajax 和 .ashx应用
Jquery 提供的$.ajax({...})方法经常和.ashx文件交互。如下代码示例:
//data键的值(包括.ashx文件中的方法和参数)
//理解.ashx文件(在同程网的时候它是作为前台接口来使用的)如在URL中直接访问:
http://localhost:9527/ClientTask/TaskTracking/TaskTracking.ashx?action=GetTaskTrackingByClientTaskIDALL&ClientTaskID=1
var param = {
action: 'addTaskTracking',
TrackingID: lblTrackingID,
ClientTaskID: lblClientTaskID,
TrackingType: ddlTrackingType,
TaskTrackingContent: txtTaskTrackingContent,
TrackingDepartment: ddlTrackingDepartment,
TrackingEmployee: ddlTrackingEmployee,
};
/* ajax方法
* 参数1:url 指向.ashx文件
* 参数2:data指示.ashx文件中的方法并以(QueryString的形式传递方法参数)
* 参数3:dataType 传递的数据方式(json)
* 参数4:type指示传递的方式(POST)
* 参数5:success: function (data) 表示成功调用方法返回,data表示返回数据
* 参数6:error: function (data, e) 捕获调用方法出现异常的处理
*/
$.ajax({
url: dealAjaxUrl('../TaskTracking/TaskTracking.ashx'),
data: param,
dataType: 'json',
type: 'POST',
success: function (data) {
var id = 'btnReset_' + lblTrackingID;
windowClose("WindowReset");
currentMethod.GetList();
$("#btnSubmit_Open").hide();
$("#" + id).hide();
},
error: function (data, e) {
alert(e);
}
});
// .ashx 文件中的方法 如下
#region 新增一条信息
public void addTaskTracking(HttpContext hc)
{
String strTaskTrackingID = DaoUtils.GetRequest("TrackingID", "");
String strClientTaskID = DaoUtils.GetRequest("ClientTaskID", "");
String strCode = strClientTaskID;
//重新跟进则需要改变回访单状态
DataTable dt = TaskTrackingService.GetDataByKey("T_ClientTask", "ClientTaskID", strCode);
DataRow dr = dt.Rows[0];
dr["BackTaskStatus"] = "02";
TaskTrackingService.UpdateDataTable(dt);
strJson = "1";
ResponseWrite(hc);
}
#endregion

浙公网安备 33010602011771号