AjaxでJavaサーブレットに飛んでいくファンクションです。動作は問題ありません。
question_idにはint型で数字が入っています。(intである事は確認済み)
JS
1 function getCorrectAnswer(question_id) { 2 return $.post('AjaxController', { 3 question_id: question_id 4 }) 5 }
こちらがそのAjaxを受けるサーブレットです。
Java
1String question_id = request.getParameter("question_id"); 2System.out.println("question_idは" + question_id);//nullになる 3 4if (question_id != null) { 5String CorrectAnswer = jqd.getCorrectAnswer(question_id); 6System.out.println("CorrectAnswerは" + CorrectAnswer); 7out.print(CorrectAnswer); 8}
これでなぜデータを受け取れませんか。(JS内でdoneでデータを受け取っていますが、それがnullになります)
以下試したことです。
jQueryから送るデータをStringにする
question_idのアンダーバーが問題かと思い単にidに変更
仮にファンクションを以下に変更(仮の値を送る)
js
1 function getCorrectAnswer(question_id) { 2 return $.post('AjaxController', { 3 question_id:'2' 4 }) 5 }
結果は全てnullになります。
以下同プロジェクト内の成功例を貼っておきます。
JS
1 function getQuizzes() { 2 return $.post('AjaxController', { 3 action: 'getQuizzes' 4 }) 5 }
Java
1String action = request.getParameter("action"); 2if (action.equals("getQuizzes")) { 3String json = mapper.writeValueAsString(jqd.getgetQuizzes());//4つのクイズのオブジェクトがJSONとして入っている 4out.print(json); 5}
どうかご教授お願いします。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。