현재 Ajax에 대량의 name을 보내야되서 $("#아이디").serialize();를 사용하려고 합니다
문제는 이건 json으로 받아야 된다고 했는데 잘 모르겠습니다
JQuery 사용하는 부분(ajax)
$("#question_save").off().on('click', function() {
var data = $("#questionForm").serializeObject();
console.log("시작");
console.log(data);
console.log("종료");
$.post(ajax_object.ajax_url, { //ajax object
action : 'set_questions', //hook name
data : data
}, function(data) {
alert(data);
});
});
함수
jQuery.fn.serializeObject = function() {
var obj = null;
try {
if (this[0].tagName && this[0].tagName.toUpperCase() == "FORM") {
var arr = this.serializeArray();
if (arr) {
obj = {};
jQuery.each(arr, function() {
obj[this.name] = this.value;
});
}//if ( arr ) {
}
} catch (e) {
alert(e.message);
} finally {
}
return obj;
};
이걸 function.php 에서 받아서 query 날리고 싶은데 어떻게 받는지를 모르겠습니다
log값에서는
{solution[1]: "1", type[1]: "문법", level[1]: "상", solution[2]: "2", type[2]: "어휘", …}
이런식으로 받아지는데
$data = json_decode($_POST['data']); 하면 값을 0으로 받고
$data = ($_POST['data']); 받으면 잘 받아지는데 문제는 각 앞에 '[' 붙어집니다
좀 도와주세요