jQuery技术:通用处理程序没有响应

我在AjaxHandler.ashx中遇到问题因为当我使用JQuery调用发送它时,context.Request [“Action”]为null可以有人帮助我

注意:我使用的是html控制器而不是asp,net server controller

 $(function () { $("#btnSearch").click(function () { /*var skill = $("#ddlSkills option:selected").val(); var types = $("#ddlTypes option:selected").val(); var topics = $("#ddlTopics option:selected").val(); var sortBy = $("#ddlSortBy option:selected").val(); */ $.ajax({ url: "../ideapark/DesktopModules/ResourcesFilter/AjaxHandler.ashx", contentType: "application/json; charset=uft-8", type: "POST", data: $('form').serialize(), success: function(data) { for(var i = 0; i < data.length; i++) { //t ajax handler recollection of resources. //U NEED TDESERIALIZE var resID = data.response[i].ID; var summary = data.response[i].Summary; var pageID = data.response[i].PageID; var name = data.response[i].Name; var createdOn = data.response[i].CreatedOn var Total = data.response[i].Total; } }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert(errorThrown); alert(XMLHttpRequest); alert(textStatus); console.log(errorThrown); console.log(XMLHttpRequest); console.log(textStatus); console.log(errorThrown); } }); }); });  ///  /// Summary description for AjaxHandler ///  public class AjaxHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/json"; //context.Response.Write("Hello World"); string response = ""; string var = context.Request["Action"].ToString(); switch (context.Request["Action"]) { case "ResponseFilterSearch": response += "{"; Dictionary jsonObject = new Dictionary(); string skill = context.Request["Skill"].ToString(); string type = context.Request["Type"].ToString(); string focus = context.Request["focus"].ToString(); string keyword = context.Request["Keyword"]; string sortby = context.Request["SortBy"]; string pageNumber = context.Request["pagenumber"]; SqlDataProvider sqlConn = new SqlDataProvider(); DataSet dsResults = SqlHelper.ExecuteDataset(sqlConn.ConnectionString, "spResourceSearch", skill, type, focus, keyword, sortby, pageNumber); foreach (System.Data.DataRow row in dsResults.Tables[0].Rows) { response += ""ID":" + """ + row["Id"].ToString() + """; response += ""Summary":" + """ + row["summary"].ToString() + """; response += ""PageID":" + """ + row["pageId"].ToString() + """; response += ""Name":" + """ + row["name"].ToString() + """; response += ""CreatedOn":" + """ + row["createdOn"].ToString() + """; response += ""Total":" + """ + row["total"].ToString() + """; } response += "}"; break; } //this returns a json string context.Response.Write(response); } public bool IsReusable { get { return false; } } } 

    您似乎混合了contentTypedataType

    contentType表示请求正文的内容类型(即您发送给服务器的数据),您已将其设置为json,而不是$('form').serialize()将生成。 $('form').serialize()application/x-www-form-urlencoded生成数据,这是$ .ajax中的默认值。

    现在dataType是响应主体的内容类型(这是从服务器接收的数据),代码应该是json。

     $.ajax({ url: "../ideapark/DesktopModules/ResourcesFilter/AjaxHandler.ashx", dataType: "json", type: "POST", data: $('form').serialize(), success: function(data) { ... }, error: function(XMLHttpRequest, textStatus, errorThrown) { .... } }); 

      以上就是jQuery教程分享通用处理程序没有响应相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/532409.html

      (0)
      上一篇 2020年12月21日
      下一篇 2020年12月21日

      精彩推荐