Php &引用;试图获取非对象的属性“;在AJAX请求中使用Laravel?
我正在构建一个加载其中内容的页面 该页面名为/ajax,在这里,我有一组数据被拉入,我基本上使用它作为一个url来获取数据,以便从我使用的instagram php库将更多图像加载到容器中 当我按“加载更多”时,它会思考,在控制台的“网络”选项卡中,我看到以下内容: 正在尝试获取非对象的属性 这里让我感到困惑的是,当我访问url/ajax时,我在页面中得到了正确的数据:Php &引用;试图获取非对象的属性“;在AJAX请求中使用Laravel?,php,ajax,arrays,laravel,Php,Ajax,Arrays,Laravel,我正在构建一个加载其中内容的页面 该页面名为/ajax,在这里,我有一组数据被拉入,我基本上使用它作为一个url来获取数据,以便从我使用的instagram php库将更多图像加载到容器中 当我按“加载更多”时,它会思考,在控制台的“网络”选项卡中,我看到以下内容: 正在尝试获取非对象的属性 这里让我感到困惑的是,当我访问url/ajax时,我在页面中得到了正确的数据: “数据文本”:“Philips#OutfightGrid#barbour”在项目数组中,因此它清晰地存在并且可以访问,但由于某
“数据文本”:“Philips#OutfightGrid#barbour”
在项目数组中,因此它清晰地存在并且可以访问,但由于某种原因,当url通过/ajax?tag=folkclothing&max#tag\u 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);
}
$.ajax({
键入:“GET”,
url:“/ajax”,
数据:{
标签:标签,
max_tag_id:maxid
},
数据类型:“json”,
cache:false,
完成:函数(){
},
成功:功能(数据){
//输出数据
$.each(data.images,function(i,src){
var$content=$(''+data.images[i].data+'');
var持续时间=1000,n=0.1;
$content.appendTo('section#images');
$item=$content.find('form');
如果($item.hasClass(“状态为false”)){
$item.addClass(“不喜欢”);
//$('.notLiked').find('button.inspect').hide();
$item.find('a')。在('')之后;
}
if($item.hasClass(“状态为true”)){
$item.addClass(“喜欢”);
//$('.like').find('button.like').hide();
$item.find('a')。在('')之后;
}
});
//存储新的maxid
$('more').data('maxid',data.next_id);
}
有人能解释一下为什么这可能会在我的问题中产生错误。我尝试了这么多解决方案,但我很难找到解决方案。错误在哪一行?在这一行“data\u text”=>$data->caption->text
,这是从caption中提取的,当目标设置为数组时,它会输出大量其他项目,如创建日期、创建日期等
?是的,但随后抛出了错误无法将stdClass类型的对象用作数组
,我第一次尝试了这个方法,所以不知道为什么会很痛苦!dd($data->caption)
确保它符合您的期望。