3

Ajax呼び出しを行おうとしていますが、ページの読み込みが発生しますこれが私の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;
}

そして、これが私のAjaxCallHandler.aspx.cs 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);
}

これがページの読み込みを引き起こしている理由はわかりません。jqueryAJAXは初めてですが、javascript AJAXでこれを試したところ、ページの読み込みがなくても正常に機能していました。

4

1 に答える 1

2

それがあなたのAjaxCallHandler.aspxの背後にあるコードだと思いますか?

その場合、AJAX呼び出しは基本的に、ブラウザウィンドウ(つまりGET)でページを表示する場合と同じように、そのページの結果をロードするだけです。

ほとんどの場合、AJAXリクエストを実行する場合は、たとえばJSONResult ActionResultまたはWebサービス(.asmx)を返すMVC関数に対してAJAXリクエストを呼び出します。

通常のWebページにアクセスしているだけなので、そのページのコードビハインドで常にPage_Loadイベントが実行されます。

于 2012-11-17T23:33:07.240 に答える