0

这是我的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# 代码中放置一个断点。它是用Response.Writec# 代码编写的,但我无法接收到 jquery 代码中的响应。任何人都可以指出这个问题吗?

4

3 回答 3

0

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

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

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

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

你应该阅读这篇文章

于 2012-11-16T10:28:00.630 回答
0

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

参考http://api.jquery.com/jQuery.ajax/

于 2012-11-16T10:28:12.393 回答
0

以这种方式将代码写入代码隐藏中。

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

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

string json = JsonConvert.SerializeObject(List<object> of your code);
        Response.Clear();
        Response.Write(json);
        Response.End();
于 2012-11-16T11:42:25.573 回答