0
私はajaxから1つのwebapiを呼び出すと、単純な文字列またはintとは異なる何かを返すと、要求は依然として保留中です。ここWebApi 2 - Json要求保留
私の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);
}
私が変更した場合に、 "公共のint型...." と "リターン(1);"関数の最後にはすべて正常に動作します。私はこの
var jsonFormatter = new JsonMediaTypeFormatter
{
SerializerSettings = {ReferenceLoopHandling = ReferenceLoopHandling.Ignore}
};
jsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));
config.Formatters.Clear();
config.Formatters.Add(jsonFormatter);
任意のアイデアを持っているWebApiConfig.csで
? どうもありがとう
を返すあなたはSetAttivitaアクションメソッド内のブレークポイントを設定したい、とデバッグ。 – Win
TipoAttivitaのソースコードを表示できますか? –
TipoAttivitaはエンティティフレームワーク生成モデルのオブジェクトであり、デバッグモードでは機能は終了しますが、ブラウザ上では応答はありません –