質問: '{'+'"karui":'+"01"+'}';//ここに{"karui":"01"}を記載するとnode.jsから受け取る値がことなります。 $.ajax({ async: false, url: 'http://localhost:8000/tutor-search-server.js', type: 'POST', data: ajax_data, dataType: 'json' }).done(function(res){ console.log(res); console.log(res['karui']); }).fail(function(xhr, status, error){ alert(status); console.log("XMLHttpRequest : " + xhr.status); console.log("textStatus : " + status); console.log("errorThrown : " + error); }); }); }); ```
回答: `+`でつなげた記法とそうでない時では`ajax_data`に格納される値が異なるからではないでしょうか。 +あり ``` var ajax_data = '{'+'"karui":'+"01"+'}'; console.log(ajax_data); //=>{"karui":01} ``` +なし ``` var ajax_data = '{"karui":"01"}'; console.log(ajax_data); //=>{"karui":"01"} ``` `+`でつなげる記法の`+"01"+`の部分を`+'"01"'+`に変更すると、 (格納される値が同じものになるので)同じ結果になるのではないかと。 追記 ちなみにですが、`01`にあたる部分を変数にしてかつ、 `+`でつなげない時のような結果を得たいのであれば、以下のような感じになるかと。 ``` var hoge = "01"; var ajax_data = '{"karui":"'+hoge+'"}'; console.log(ajax_data); //=>{"karui":"01"} ```