如何使用ashx处理程序调用函数jquery?

时间:2013-10-31 12:27:44

标签: jquery asp.net handler invoke

我想知道如何在aspx处理程序(.ashx)中调用函数。

这是我尝试过的:

public void ProcessRequest(HttpContext context) ...

context.Response.ClearContent();
context.Response.ContentType = "text/javascript";
context.Response.Write("<script>$('#showAlert').show();</script>"); 

但这没有任何作用,我想知道是否有可能,我是怎么做的。

我可以参考aler是用Web用户控件编写的。

//这是用来打电话给HANDLER

$("#saveChanges").click(function () {
        $("#gif").show();
        $.ajax({
            url: "../handlers/adminSaveResults.ashx?pinAntigo=" + $("#pin").val() + "&pinNovo=" + $("#pinNovo").val() + "&passAntiga=" + $("#old").val() + "&passNova=" + $("#newP").val() + "",
            type: "POST",
            data: {},
            async: true,
            contentType: "application/json; charset=utf-8",
            dataType: 'json',
            success: function (data) {
                $("#gif").hide();
            },
            error: function (data) { /*alert("ERRO: " + data.status);*/ $("#gif").hide(); },
            timeout: 15000
        });
    }
  );

此致

1 个答案:

答案 0 :(得分:0)

如果我理解你想要的东西,它应该是这样的:

服务器:

public void ProcessRequest(HttpContext context) ...    
context.Response.ClearContent();
context.Response.ContentType = "application/json";
context.Response.Write("{"ok": 1 }"); 

这是js:

$("#saveChanges").click(function () {
        $("#gif").show();
        $.ajax({
            url: "../handlers/adminSaveResults.ashx",
            type: "POST",
            data: {pinAntigo: $("#pin").val(),
                   pinNovo: $("#pinNovo").val(),
                   passAntiga: $("#old").val(),
                   passNova: $("#newP").val() } ,
            async: true,
            contentType: "application/json; charset=utf-8",
            dataType: 'json',
            success: function (data) {
            if(data.ok){
                {
                    $('#showAlert').show();
                }     
                $("#gif").hide();
            },
            error: function (data) { /*alert("ERRO: " + data.status);*/ $("#gif").hide(); },
            timeout: 15000
        });
    }
  );