AjaxでJsonをPostしてもサーバで受け取れない

Facebookシェア Twitterツイート LINEで送る Googleシェア このエントリーをはてなブックマークに追加
質問の分野
JavaScript
Up
0
Down

質問内容

  • 匿名質問
  • 2017.9.24
  • PV 4
以下のようなJsonをPostするコードを書いているのですが、 なぜかnode.jsサーバ側で表示しようとしても何も受け取っていないことになっています。 何が悪いのでしょうか?
質問
JavaScript
1
2
3
4
5
6
7
$.ajax({url:"/ajax-test",
                type:"POST",
                data:{"a":1,"b":2},
                dataType: 'json',
                contentType: 'application/json; charset=utf-8',
                success:function(result) {
        }});
ajaxのテストコード

Thoth

Up
0
Down
JavaScript
1
2
3
4
5
6
7
$.ajax({url:"/ajax-test",
                type:"POST",
                data:{"a":1,"b":2},
                dataType: 'json',
                contentType: 'application/json; charset=utf-8',
                success:function(result) {
        }});
ajaxのテストコード
dataをそのまま渡すことはできません。
node.js側で何が受け取られているかも気になりますが、 ひとまず一点指摘があります。 ajaxでJSONオブジェクトを送信されるときはdataは文字列である必要があります。 他の部分は問題なさそうです。
回答
JavaScript
1
2
3
4
5
6
7
$.ajax({url:"/ajax-test",
                type:"POST",
                data:JSON.stringify({"a":1,"b":2}), //ここが問題
                dataType: 'json',
                contentType: 'application/json; charset=utf-8',
                success:function(result) {
        }});
修正プログラム. 変更点はStringifyのところ