簡體   English   中英

WebApi 2-Json請求待處理

[英]WebApi 2 - Json request pending

當我從ajax調用一個webapi時,如果我返回的內容與簡單字符串或int不同,則該請求仍待處理。

這是我的JavaScript:

var endPoint = "/api/services/attivita/set";
$.ajax({
    url: endPoint,
    data: JSON.stringify(
        {
        'id': attivita.IDTipoAttivita,
        'descrizione': $('#Descrizione').val()
        }
    ),
    dataType: 'json',
    contentType: "application/json;charset=utf-8",
    processData: false,
    type: 'post',
    success: function (data) {
        console.log('ok');
    },
    error: function (data) {
        console.log('ko');
    }
});

這里是webapi代碼

    [System.Web.Http.HttpGet]
    [System.Web.Http.HttpPost]
    [System.Web.Http.Route("api/services/attivita/set")]
    public TipoAttivita SetAttivita([FromBody] dynamic obj)
    {
        var id = (int)obj.id;
        var descrizione = obj.descrizione.ToString();
        var nuovo = id == -1;

        var attivita = new TipoAttivita()
        //do stuff of attivita object
        this.CurrentDb.TipoAttivita.Add(attivita);
        this.CurrentDb.SaveChanges();

        return (attivita);
    }

如果我改為“ public int ....”和“ return(1);” 在該功能的末尾,一切正常。

在WebApiConfig.cs中,我有這個

var jsonFormatter = new JsonMediaTypeFormatter
        {
            SerializerSettings = {ReferenceLoopHandling = ReferenceLoopHandling.Ignore}
        };
        jsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));

        config.Formatters.Clear();
        config.Formatters.Add(jsonFormatter);

任何想法? 非常感謝

嘗試將返回類型更改為IHttpActionResult並返回Ok(attivita)

暫無
暫無

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

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