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#コードにブレークポイントを入れてみました。C# コードから書いResponse.Writeていますが、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 に答える