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

 

 

posted @ 2014-06-27 11:31  Mark.Yang  阅读(419)  评论(0)    收藏  举报