0
나는이 종류의 주제에 대해 많은 내용을 알고 있지만 내 경우에는 어떤 일이 일어나고 있는지 이상하게 생각합니다.PHP 스크립트에서 JSON 반환
실제로 이것은 문제없이 작동하고 갑자기 아무 것도 반환하지 않습니다. $data
및 $postsInCat
에는 원하는 내용이 있지만 에코 될 때 수신 된 응답은 비어 있습니다. 내가 print_r
기능 $data
를 인쇄하면 전체 내용을 인쇄,
<?php
header('Content-Type: application/json');
include "wp-blog-header.php";
mb_internal_encoding("UTF-8");
$paged = (get_query_var('page')) ? get_query_var('page') : 1;
$temp = $wp_query;
$wp_query= null;
$args = array(
'posts_per_page' => 20,
'post_type' => 'post',
'paged' => $paged,
'nopaging' => false,
'cat' => $_GET['author']
);
$wp_query = new WP_Query($args);
$data = array();
while ($wp_query->have_posts()) : $wp_query->the_post();
$obj = new stdClass;
$obj->id = $post->ID;
$obj->title = $post->post_title;
$obj->excerpt = substr(strip_tags($post->post_content), 0, 250).'...';
$obj->slug = str_replace('http://187.38.230.170/', '', get_permalink($post->ID));
$obj->author_name = get_user_by('id', $post->post_author)->user_login;
$obj->featured_image = wp_get_attachment_url(get_post_thumbnail_id($post->ID, 'post-thumbnails'));
$obj->date = new DateTime($post->post_date);
$obj->date = $obj->date->format("F d, Y");
array_push($data, $obj);
endwhile;
$postsInCat = get_term_by('id', $_GET['author'], 'category');
echo json_encode(array('data' => $data, 'n_resultados' => $postsInCat->count));
?>
: 여기
는 코드입니다.어떤 현상이 발생하고 있는지 알 수 있습니까?
비 UTF-8 문자를 가지고 있습니까? 왜냐하면 잘못된 charset을 시도하면'json_encode'가 null을 반환하기 때문입니다. utf-8 만 지원됩니다. –
['json_last_error()'] (http://php.net/manual/en/function.json-last-error.php)를 사용하여 JSON 오류를 확인하십시오. 아마도 JSON 안에 넣을 수없는 문자가있을 수 있습니다. –
@PraveenKumar. 안녕하세요, 네, 잘못된 형식의 UTF-8 문자가 있습니다. 이 오류를 수정하려면 어떻게해야합니까? 내용은 MySQL에 있으며 UTF-8로 설정됩니다. – Apalabrados