度々失礼します。
以前GETかPOSTのフォームを選択してリクエストする方法を教えていただきました。
しかし、片方のフォームが上手くリクエストすることができず、原因を調べた結果リクエスト時にフォームを変更しただけでは上手くいかないことがわかりました。
そこでセレクトボックス時に選択したフォームだけでなくリクエストパラメーターごと変更する方法を教えていただきたいです。
GETの場合は?のあとにパラメーターが付記され、POSTの場合はボディに設定するといった普通のリクエストです。
下記は選択時にフォームを選択してリクエストできるJSファイルです。
javascript
1 $(function(){ 2//ボタン押下で入力した項目を変数にいれる 3 $("#button").click( function(){ 4 var url = $("#url_post").val(); 5 var dept_ids = $("#dept_ids").val().split(","); 6 var start_date = $("#start_date").val(); 7 var end_date = $("#end_date").val(); 8 var JSONdata = {}; 9 JSONdata.dept_ids = dept_ids; 10 JSONdata.start_date = start_date; 11 JSONdata.end_date = end_date; 12 $.ajax({ 13 url : url, 14 type : $("#method_select").val()・・・セレクトメソッドで選択したフォームをここにいれる 15 data : JSON.stringify(JSONdata), 16 contentType: "application/json;charset=UTF-8", 17 dataType : "json", 18 accepts : {json: "application/vnd.glv.v1+json;charset=UTF-8"}, 19}).done(function(data, status, xhr) { 20 $("#response").html(JSON.stringify(data)); 21}).fail(function(xhr, status, error) { 22 // 通信失敗時の処理 23 alert("失敗"); 24}).always(function(arg1, status, arg2) { 25 // 通信完了時の処理 26 alert("完了"); 27 }); 28 29 }) 30 })
下記の方法で解決いたしました。
①セレクトボックスでなく選択ボタンを増やす(GET,POSTボタン)
②それぞれJavascriptであらかじめサーバー側で受け取れる形式通りに変更して送信できるようにする。
回答1件
あなたの回答
tips
プレビュー