jquery + AJAX + c#导致页面加载

时间:2012-11-17 23:21:57

标签: c# jquery asp.net ajax

我正在尝试进行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#code

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);
}

我不知道为什么这个东西导致页面加载。我是jquery AJAX的新手,但是当我尝试使用javascript AJAX时,它工作正常,没有任何页面加载。

1 个答案:

答案 0 :(得分:2)

我假设这是你的AjaxCallHandler.aspx背后的代码?

如果是这样,您的AJAX调用基本上只是加载该页面的结果,就像您使用浏览器窗口(即GET)命中它一样。

大多数情况下,当您想要执行AJAX请求时,您将针对返回JSONResult ActionResult或Web服务(.asmx)的MVC函数调用它。

由于您只是访问常规网页,因此它将始终在该网页的代码上执行Page_Load事件。