コンテンツをロードするページを作成しています。
このページは /ajax と呼ばれ、ここには取り込まれた一連のデータがあり、基本的にこれを URL として使用して、使用した instagram php ライブラリからコンテナーにさらに多くの画像をロードするためのデータを取得します。
「さらに読み込む」を押すと、コンソールの「ネットワーク」タブに次のように表示されます。
非オブジェクトのプロパティを取得しようとしています
ここでの混乱は、URL /ajax にアクセスすると、正しいデータが含まれているページでこれを取得することです。
"data_text":"Philips #outfitgrid #barbour"
アイテムの配列にあるので、明らかにそこにあり、アクセスできますが、何らかの理由でURLが渡される/ajax?tag=folkclothing&max_tag_id=1377007699427&_=1377709072077
と爆発しますか?
ajax 配列の私の php は次のとおりです。
$images = array();
$data_link = array();
$data_id = array();
$data_likes = array();
$data_text = array();
foreach ($media as $data) {
$images[] = array(
"data_url"=>$data->images->standard_resolution->url,
"data_link"=>$data->link,
"data_text"=>$data->caption->text,
//"data_text" => array['$data->caption->text'],
"data_id"=>$data->getId(),
"data_likes"=>$data->likes->count,
"data_like"=>$current_user->likes($data),
"data_token"=>$token
);
}
$object = (object)$data_text;
echo json_encode(array(
'next_id' => $media->getNextMaxTagId(),
'images' => $images,
'data_text' => $data_text
));
そして、このデータをページに取り込むための ajax があります。
$.ajax({
type: 'GET',
url: '/ajax',
data: {
tag: tag,
max_tag_id: maxid
},
dataType: 'json',
cache: false,
complete: function(){
},
success: function(data) {
// Output data
$.each(data.images, function(i, src) {
var $content = $('<article class="instagram-image"><form id="'+ data.images[i].data_token +'" class="forms status-'+ data.images[i].data_like +'" action="'+base+'" method="post"><a class="fancybox" rel="folk-1" href="' + data.images[i].data_url + '"><img alt="' + data.images[i].data_text + '" src="' + data.images[i].data_url + '" alt="' + data.images[i].data_text + '" /></a><div class="formSubmit-feedback"></div><input type="hidden" name="id" value="'+ data.images[i].data_id +'"><p>'+ data.images[i].data_likes +'</p></form></article>');
var duration = 1000, n = 0.1;
$content.appendTo('section#images');
$item = $content.find('form');
if( $item.hasClass("status-false") ){
$item.addClass("notLiked");
//$('.notLiked').find('button.unlike').hide();
$item.find('a').after('<button class="ajax instabtn button-like like icon-heart" type="submit" name="action" value="Like"></button>');
}
if( $item.hasClass("status-true") ){
$item.addClass("Liked");
//$('.Liked').find('button.like').hide();
$item.find('a').after('<button class="ajax instabtn button-unlike unlike icon-heart" type="submit" name="action" value="Unlike"></button>');
}
});
// Store new maxid
$('#more').data('maxid', data.next_id);
}
これが私の質問でエラーをスローする理由について、誰かが光を当てることができますか。私は非常に多くの解決策を試しましたが、解決策が何であるかを理解するのに苦労しています。