저는 JavaScript와 PHP를 처음 접했으며 JSON을 처음 접하고 사용합니다. 내 AJAX 요청은 괜찮다고 생각하지만, 그래도 $_POST
배열은 비어 있습니다. 여기
$("#submit").click(function() {
var submit_basic = $.post('index.php/submit_data/pass_basic_data',
get_experience_data()
);
submit_basic.done(function(data) {
alert(data); // for debugging purposes
});
});
그리고,이 테이블의 데이터를 취하는 함수이다
function get_experience_data() {
var temp, data_exp = [];
$("#exptable tbody tr").each(function() {
temp = {
company: $(this).find('td').eq(0).html(),
position: $(this).find('td').eq(1).html(),
datestart: $(this).find('td').eq(2).html(),
dateend: $(this).find('td').eq(3).html(),
description: $(this).find('td').eq(4).html()
};
data_exp = data_exp.concat(temp);
});
return data_exp;
}
참조 용
는, 대상 컨트롤러 기능 만$_POST
를 인쇄 배열 (CodeIgniter를 사용하는 방식대로) :
public function pass_basic_data() {
var_dump($_POST);
}
찾을 수 없으므로 내가 작성한 오류를 정확히 지적 해 주시겠습니까? 고마워요!
UPDATE : 나는 특히이 메시지를 받고 있습니다 :
array(1) {
["undefined"] =>
string(0) ""
}
UPDATE : 모든 도움들에 대한
감사합니다! 나는 이미 그것을 풀었다. 그것은 나를 방 주위에 춤추게했다. {name : value}
쌍의 반환 값을 래핑했습니다. 나는 시작을 위해 다음을 수행 제안
$("#submit").click(function() {
var post_vars = get_experience_data();
var submit_basic = $.post('index.php/submit_data/pass_basic_data',
{object: post_vars}
);
submit_basic.done(function(data) {
alert(data); // for debugging purposes
});
});
모든 '.each()'콜백은 리턴하기 전에 완료됩니다. –
.each()에 대한 대안이 있습니까? –
'$ .each'가 블로킹 중이므로 걱정하지 마십시오 - 완료 될 때까지 기다립니다. – Christoffer