사용자가 선택한 값을 기반으로 JSON 배열을 생성하는 스크립트가 있습니다. 이 값은 AJAX가있는 JSON으로이 값을 받아 처리하는 PHP 스크립트로 보내집니다.AJAX로 데이터를 보내고 PHP로 수신
무엇이 잘못 될 수 있습니까?
JSON (즉 보낼)
[{
"Pages":
{"name":" Page Name 1",
"id":"252456436636644"}
},
{
"Pages":{
"name":" Page Name 2",
"id":"345345435435232"
}
}]
JQUERY :
var json_pages = JSON.stringify(publish);
$.ajax({
url: "post.php",
type: "post",
data: { PublishToPages: json_pages },
success: function(){},
error: function(){}
});
문제점 I은 PHP로부터 받으시는 JSON 데이터를 받고 있지 않은 것을,
if($_POST['PublishToPages']) {
$json = $_POST['PublishToPages'];
$array = json_decode($json, true);
foreach($array as $item) {
$page_id = $item['Pages']['id'];
echo $page_id;
}
}
수동으로 JSON을 PHP 스크립트에 넣으면 작동합니다.
if ($_POST['PublishToPages']) {
$json = '[{"Pages":{"name":" Page Name","id":"234545355345435"}},{"Pages":{"name":" Page Name 2","id":"345345435435435435"}}]';
$array = json_decode($json, true);
foreach($array as $item) {
$page_id = $item['Pages']['id'];
echo $page_id;
}
}
$ array의 내용을 확인 했습니까? – Callombert
ajax에이 데이터 유형 "json"을 추가 한 후 시도하십시오. –
"var.json_pages = JSON.stringify (publish);"줄 다음에 "console.log (publish)"를 실행하면 " 그 결과는 무엇입니까? 그리고 http 요청은 당신에게 무엇을 보여 줍니까? 데이터가 서버로 전송됩니까? – Jurik