簡體   English   中英

ASP AJAX POST調用返回不支持的媒體類型

[英]ASP AJAX POST call returns Unsupported Media Type

我正在嘗試從JavaScript腳本進行AJAX調用,但它不斷拋出不支持的媒體類型錯誤。

這是我嘗試的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調用也可以正常工作。 我在這里想念什么?

問題已解決-我需要將服務添加到Web.Config(正如Liam指出的另一個問題中指出的那樣)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM