0

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

这是我尝试过的:

public void ProcessRequest(HttpContext context) ...

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

但这无济于事,我想知道是否有可能,如果可以,我该怎么做。

我可以指警报器是在 Web 用户控件中编写的。

//这是用来调用处理程序的

$("#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
        });
    }
  );

问候

4

1 回答 1

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
        });
    }
  );
于 2013-10-31T13:06:22.220 回答