Die Nachricht kann nicht verarbeitet werden, da der Inhaltstyp 'application / json; charset = utf-8 'war nicht der erwartete Typ' text / xml; Zeichensatz = utf-8 '

Ich erhalte die obige Antwort, wenn ich einen WCF-Dienst über Ajax Json anrufe. Meine Vorwahl lautet:

<script type="text/javascript">
    $(document).ready(function () {
        $.ajax
        ({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "http://localhost:90/WebServices/UserService.svc/Calculate",
            data: "{}",
            timeout: 10000,
            dataType: "json",
            success: function (response) {
                alert(response)
            },
            error: function (xhr, ajaxOptions, thrownError) {
                alert(xhr.statusText);
                alert(thrownError);
            }
        });
    });
</script>

Mein Service ist:

[ServiceContract]
public interface IUserService
{
    [OperationContract]
    [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json
     )]
    Answer Calculate();
}

[DataContract]
public class Answer
{
    [DataMember]
    public string answer { get; set; }
}

Meine Methode ist:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
public class UserService : IUserService
{
    public Answer Calculate()
    {
        Answer answer = new Answer();
        answer.answer="Hello World";
        return answer;
    }
}

Ich habe seit einiger Zeit damit gekämpft, ich sehe, dass andere Leute das gleiche Typproblem hatten und ich habe alle dortigen Vorschläge ausprobiert, aber es funktioniert immer noch nichts.

Wo ist das Problem? Wie kann ich das lösen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage