簡単なことをしようとしていますが、明らかに何かが欠けています。を使用して、フォームから Web サービスにデータを投稿したいと考えていjson
ます。シンプルですよね?
私は自分のHTMLを持っています
<div id="addDiv">
<form id="addItemForm">
<fieldset>
<label for="title">Title</label>
<input id="title" class="txt" type="text" name="title"/></BR>
<label for="url">URL</label>
<input id="url" class="txt" type="text" name="url"/></BR>
<label for="author">Author</label>
<input id="author" class="txt" type="text" name="author"/>
</fieldset>
</form>
</div>
次に、私のjs
ファイルで次のことを行います。
JSONdata = JSON.stringify($('#addItemForm').serialize());
console.log("Form transformed to: " + JSONdata);
ペイロード出力 (JSONdata):
Form transformed to: "title=tgtg&url=5rfrf&author=yhyhyyh"
念のため私のAjaxコード:
$.ajax({
type: "POST",
url: serviceUrl,
dataType: 'json',
data: JSONdata,
contentType : 'application/json',
............
だから私が見る問題は、json
文字列が有効なものではないということです[{ "title": "tgtg", "url": "5rfrf" .... },{...}]
したがって、私のサービスは失敗します。
RESTテスターで試してみましたが、サービスに問題はありません。問題は、投稿しようとしたときですjquery.
私も試してみましserializeArray()
たが、別のペイロードも間違っています:
[{"name":"title","value":"tgtg"},{"name":"url","value":"5rfrf"},...]
json
つまり、郵便で送信する適切な文字列を作成する方法が見つかりません。
ありがとうございます!