Ajax调用没有从c#代码返回响应

这是我的jquery代码

var ajaxUrl = "AjaxCallHandler.aspx"; function _init_Chart() { $.ajax({ type: "GET", //GET or POST or PUT or DELETE verb url: ajaxUrl, // Location of the service data: "OpCode=GetCallAverageReportForGraph&Parms=DeptId^17~Month^10~Year^2012", //Data sent to server contentType: "", // content type sent to server dataType: "string", //Expected data format from server processdata: true, //True or False success: function (responseString) {//On Successful service call alert(responseString); } }); return false; 

}

这是我的c#代码

  protected void Page_Load(object sender, EventArgs e) { string responseMessage = ""; string status = "SUCCESS"; try { if (Request.QueryString["OpCode"] == null) { throw new Exception("Invalid Request, OpCode missing."); } string operationRequested = Request.QueryString["OpCode"]; string Params = Request.QueryString["Parms"]; switch (operationRequested) { case "GetCallAverageReportForGraph": responseMessage = GetCallAverageReportForGraph(Params); break; case "GetCallAverageReportDetails": responseMessage = GetCallAverageReportDetails(Params); break; } } catch (Exception exp) { status = "EXCEPTION"; responseMessage = exp.Message; } Response.ClearContent(); Response.ClearHeaders(); Response.Write(responseMessage); } 

我试着在c#代码中添加一个断点。 它是从c#代码编写Response.Write但我无法在jquery代码中收到响应。 任何人都可以指出这个问题吗?

数据类型字符串更改为html或将其保留为默认类型为空

请参阅http://api.jquery.com/jQuery.ajax/

你的代码中有很多遗漏的东西。

您需要一个标有WebMethod属性的静态方法:

 [WebMethod] public static RetrunValue Foo() { ... } 

数据必须是asp.net中的json格式。

你应该阅读这篇文章

以这种方式在代码behid中编写代码。

 Response.Clear(); Response.Write("Your response in string"); Response.End(); 

请注意,如果您的响应是HTML格式,则必须在Response.Write(“您的字符串”)中传递字符串,如果您的响应是Json格式,请编写这样的代码。

 string json = JsonConvert.SerializeObject(List of your code); Response.Clear(); Response.Write(json); Response.End();