Javascript ASP:NET ajax函数在onchange事件后不起作用

Javascript ASP:NET ajax函数在onchange事件后不起作用,javascript,jquery,asp.net,ajax,Javascript,Jquery,Asp.net,Ajax,我想使用ajax函数显示dropdownlist的选定索引的值。它不起作用。我尝试使用控制台调试它,我看到了错误500(内部服务器错误)是什么导致了这个问题?实施情况如下 Ajax功能: function showDdlValue(ddl) { var value = ddl.value; $.ajax({ type: "POST", url: "AdminPanel.aspx/getData",

我想使用ajax函数显示dropdownlist的选定索引的值。它不起作用。我尝试使用控制台调试它,我看到了错误
500(内部服务器错误)
是什么导致了这个问题?实施情况如下

Ajax功能:

        function showDdlValue(ddl) {
        var value = ddl.value;
        $.ajax({
            type: "POST",
            url: "AdminPanel.aspx/getData",
            data: '{color: "' + value + '" }',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: OnSuccess,
            failure: function (response) {
                alert(response.d);
            }
        });
    }

    function OnSuccess(response) {
        alert(response.d);
    }
Html:


将webmethod的访问说明符更改为
public
。当我们将其设置为
private

function showDdlValue(ddl) {
    var value = ddl.value;
    $.ajax({
        type: "POST",
        url: "AdminPanel.aspx/getData",
        data: {'color':  value },
        success: OnSuccess,
        failure: function (response) {
            alert(response);
        }
    });
}

function OnSuccess(response) {
    alert(response);
}
WEB方法

[System.Web.Services.WebMethod]
public String getData(String color) 
{
    return "Hello " + color;
}

尝试此操作

查看服务器返回的响应…尝试删除
contentType
选项,顺便说一句,您的服务器似乎根本不返回JSON,所以也删除
dataType
。但是
500(内部服务器错误)
表示错误在服务器端。请注意,我对ASP.net一无所知,因此…。@A.Wolff我删除了这两种类型,但在事件警报框中出现了未定义而不是value@Tartar:
undefined
如果你仔细想想,它是有意义的。为什么它没有定义?服务器从未发回应答。为什么它没有给出答案?嗯,你自己说的,有一个
内部服务器错误
。那个错误是在哪里发生的<代码>内部。这意味着您的后端引发了异常。您的javascript无法修复这一问题(当然,除非是由于错误的ajax调用)。但要解决这个问题,您需要查看收到的错误消息的其余部分,并在后端检查有问题的代码,而不是在前端。
function showDdlValue(ddl) {
    var value = ddl.value;
    $.ajax({
        type: "POST",
        url: "AdminPanel.aspx/getData",
        data: {'color':  value },
        success: OnSuccess,
        failure: function (response) {
            alert(response);
        }
    });
}

function OnSuccess(response) {
    alert(response);
}
[System.Web.Services.WebMethod]
public String getData(String color) 
{
    return "Hello " + color;
}