4

実際の本文から POST メソッドを介して長い文字列を渡そうとしています。URL を介して渡すと問題なく動作しますが、何を変更すればよいか分からないため、代わりに本文からデータを挿入できます。

public void PostMethod(string id, [FromBody]string data)
    {
        if (ModelState.IsValid)
        {
            var result = client.Store(StoreMode.Add, id, data);
        }
        else
        {
        }

    }

このように使用すると:

http://localhost:8888/api/data?id=2&data=MybigString

完全に機能しますが、URL からデータを渡したくありません。提案をいただければ幸いです。

ここに画像の説明を入力

4

2 に答える 2

4

アクション メソッドが であるpublic void PostMethod(string id, [FromBody]string data)場合、 の URIhttp://localhost:8888/api/data/2と のメッセージ本文を使用できます=MyBigString。jQuery を使用する場合は、次のようなものを使用$.post('api/data/2', { '': 'MyBigString' });して、正しいメッセージ本文が送信されるようにします。

編集:

ここに画像の説明を入力

于 2013-07-09T17:47:52.867 に答える
0

非表示フィールドを使用して、投稿の前にその値を設定します。フォーム内にあることを確認してください。

@Html.HiddenFor(Model.data)

jQuery を使用して JavaScript で値を設定するには:

$("#data").val('my big string');

または、厳密に型指定されたビューにバインドしていない場合は、次の代わりに単純な HTML 隠し入力が機能します@Html.HiddenFor()

<input type="hidden" id="data" name="data" />
于 2013-07-09T17:30:55.057 に答える