jQueryオブジェクトをajax経由でWeb APIコントローラに送信しようとしています。ここでJSONオブジェクトからWeb APIへのエラーの送信
は私のjqueryのコードは次のとおりです。
var CurrentOrder = [];
var lineItem = { 'rowid': '34', 'quantity': '4', 'comment': 'somecomment' ,
'rowid': '22', 'quantity': '5', 'comment': 'somecomment1'};
CurrentOrder.push(lineItem);
$.ajax({
type: 'PUT',
data: JSON.stringify({ SessionCart: CurrentOrder }),
contentType: 'application/json; charset=utf-8',
url: '/api/Cart/UpdateCart/',
//traditional: true,
beforeSend: function() {
res.container.append(res.loader);
},
success: function() {
res.container.find(res.loader).remove();
$('.loader').attr('style', 'display:none');
GetSessionCart();
},
error: function() {
res.container.find(res.loader).remove();
$('.loader').attr('style', 'display:none');
alert('Current Order could not be updated. Please Try again.')
}
})
は、ここに私のモデルです:
public class Cart
{
public string rowid { get; set; }
public string quantity { get; set; }
public string comment { get; set; }
}
とコントローラ:
[HttpPut, HttpDelete]
[ActionName("UpdateCart")]
public HttpResponseMessage UpdateCart([FromUri] List<Cart> SessionCart)
{
//do sth
}
問題は、コントローラヒットを取得しますが、パラメータSessionCart
カウントです常に0です。私はラッピングするために引用符を使用して、オブジェクトを文字列化しないようにしました。単一のオブジェクトを渡し、配列ではなく、他のものを渡します。これらのどれも働かなかった。どんな助けでも大歓迎です。
。ありがとう!問題は[FromUri]とJSON.stringifyでした。良いものを持ってください:D – ToneSwitch