【问题标题】:ASP AJAX POST call returns Unsupported Media TypeASP AJAX POST 调用返回不支持的媒体类型
【发布时间】:2013-10-23 15:39:41
【问题描述】:

我正在尝试从 JavaScript 脚本进行 AJAX 调用,但它不断抛出 Unsupported Media Type 错误。

这是我正在尝试的 AJAX 调用的代码:

var ParamList =
[{
    "username": Username,
    "oldPassword": OldPassword,
    "newPassword": NewPassword
}];

$.ajax({
    type: "POST",
    url: "/LoginService.svc/ChangePassword",
    data: JSON.stringify(ParamList),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (data) {
        var ReturnCode = data;
        switch (ReturnCode) {
            case 0:
                 $(Message).html("Password changed successfully");
                break;
            case -1:
                 $(Message).html("Password not changed");
                break;
            default:
                 $(Message).html("Error attempting to change the password - return code " + ReturnCode.toString());
                break;
        }
    },
    error: function (HelpRequest, ErrorCode, TheError) {
        $(Message).html("Error attempting to change the password:<br />" + TheError);
    }
});

这是来自 LoginService.svc 的代码:

public class ChangePasswordParamList
{
    public String username;
    public String oldPassword;
    public String newPassword;
}

[ServiceContract]
public interface LoginServiceInterface
{
    [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json)]
    int ChangePassword(ChangePasswordParamList[] paramList);
}

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]

public class LoginService : LoginServiceInterface
{
    public int ChangePassword(ChangePasswordParamList[] paramList)
    {
        String username = paramList[0].username;
        String oldPassword = paramList[0].oldPassword;
        String newPassword = paramList[0],newPassword;

        int ReturnVal = 0;
        //  do some stuff here
        return ReturnVal;
    }
}

代码中其他地方的类似 AJAX POST 调用可以正常工作。我在这里错过了什么?

【问题讨论】:

标签: javascript jquery asp.net ajax post


【解决方案1】:

问题已解决 - 我需要将服务添加到 Web.Config(正如 Liam 指出的另一个问题所指出的那样)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 2012-06-20
    • 2018-10-13
    • 2016-11-21
    • 2012-04-19
    • 1970-01-01
    • 2014-02-13
    相关资源
    最近更新 更多