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