webstudioWhitePallet

Ajaxで複数POST

2018/01/26

Ajaxを使ってformに入力された複数のデータををPOSTする時

var UserID = $("input[name=user_id]").val(); var UserMail = $("input[name=user_mail]").val(); var UserTell = $("input[name=user_tell]").val(); var SelectA = $("select[name=select_a]").val(); var SelectB = $("select[name=select_b]").val(); var SelectC = $("select[name=select_c]").val(); var SelectD = $("select[name=select_d]").val(); :

のように記述していたら膨大なコードになったりするので、
まとめてPOSTする方法。

var fd = new FormData(); $("input[type=text]").each(function(){ fd.append(this.name,this.value); }); $("select").each(function(){ fd.append(this.name,this.value); }); var postData = { type : "POST", dataType : "text", data : fd, processData : false, contentType : false };

eachを使いinputのnameとvalueを連想配列としてappend。
配列化させた状態のままAjaxでPOST。


phpでデータを受ける際

foreach ($_POST as $key => $value) { ${$key} = $value; }

foreachでkeyを変数名に流し込む。

カテゴリー:javascript

top