ajax 배열 php에서 변수로 받기
본문
자바스크립트
var params = new Object();
params.targetInfos = "662774_13, 662774_17";
params.viewType = jQuery("#viewByVolume").prop("checked") ? "VOLUME" : "CONTENTS";
jQuery.ajax({
url: "contentslist_json.php",
contentType: "application/json",
type: "POST",
timeout: 10000,
dataType: "json",
data: JSON.stringify(params), // 이부분 변수 넘기는 부분
success: function() {
alert("삭제되었습니다.");
jQuery("#editButton").trigger("click");
initElementForReload();
loadContentsList();
jQuery("#dimmed").hide()
},
error: function() {
alert("컨텐츠 목록을 불러오는 중 오류가 발생하였습니다. 다시 시도해 주세요.4");
jQuery("#dimmed").hide()
}
})
contentslist_json.php
자바스크립트파일 이부분 변수 넘기는 부분 변수를 어떻게 받아야 하는지를 모르겠네요?
$_POST['params']['targetInfos'][0];
json_decode($_POST['targetInfos']);
여러가지 변수로 받아봐도 값이 안넘어오네요
크롬에서 디버깅 하면 아래 변수처럼 보이는데
어떻게 하면 변수를 받을수 있는 답변 부탁드리겠습니다.
감사합니다.
!-->
답변 4
해당 _json.php 파일의 최상단에
print_r2($_POST);
출력해보시기 바랍니다.
dataType : 'json'
은 자바스크립트에서 php 파일로 넘기는 데이터의 타입이 아닌,
php 파일에서 리턴받을 때의 데이터의 타입니다.
자바스크립트에서 php 파일로 데이터를 넘기고 싶을 때는 "name : value" 형태로 전달하면 됩니다.
※ https://zero-gravity.tistory.com/241
dataType: "json",
data : {info : params.targetInfos}
or
dataType: "json",
data : {info : "662774_13, 662774_17"}
$_POST['info'] 로 받게 됩니다.
!-->!-->
다음과 같은 방법도 있으니 참고해 보세요
<?php
// POST 데이터 가져오기
$data = json_decode(file_get_contents("php://input"));
// 서버 측에서 데이터를 처리하고 응답을 생성
$response = array("message" => "삭제되었습니다."); // 응답 메시지
// 응답 데이터를 JSON 형식으로 반환
header("Content-Type: application/json");
echo json_encode($response);
?>
success: function( data) {
console.log( data);
// 하시고 콘솔 창을 보시면 어떻게 해야할 지 알 수 있습니다.
alert("삭제되었습니다.");
답변을 작성하시기 전에 로그인 해주세요.