2

DateTime私の ApiController は、ビュー モデルにラップされたオブジェクトを受け取りません。

これが私のコントローラーの内容です。

public class FlowApiController : ApiController
{
    // GET api/flowapi
    public async Task<IEnumerable<FlowItemViewModel>> PostNewItems(SinceNullableViewModel input)
    {
        var since = input.Since; //since will be null for some reason

        ...

        return something;
    }
}

そして、これが私の jQuery AJAX 呼び出しです。いろいろ試してみましたが、うまくいきませんでした。これは私が現在持っているものです。

$.ajax("/api/FlowApi/NewItems", {
    method: "POST",
    data: JSON.stringify({
        Since: new Date()
    })
});

最後に、これが私のSinceNullableViewModel.

public class SinceNullableViewModel
{
    public DateTime Since { get; set; }
}

ここで何が間違っていますか?

Chrome は次のようにデータを送信します。

ここに画像の説明を入力

4

1 に答える 1

4

もう 1 つヘッダーcontentTypeを追加して、JSON 形式で送信していることをサーバーに伝えます。

$.ajax("/api/FlowApi/NewItems", {
    method: "POST",
    contentType: "application/json; charset=utf-8",
    data: JSON.stringify({
        Since: new Date()
    })
});
于 2013-03-01T06:35:03.077 に答える