所以,我必须将php json解析为javascript。
代码如下所示:
$thumbnails = [];
foreach ($images as $key => $image)
{
$thumbnails[$image->time] = [
'src' => MovieEntity::getImageWithPublicPath(
$movie->id, $image->filename, 130, 0, false
),
'width' => '165px',
'height' => '95px'
];
}
return json_encode($thumbnails, JSON_UNESCAPED_SLASHES);
结果是:
{"5":{"src":"google.ro","width":"165px","height":"95px"},"7":
我想采用src
,width
和height
并将其插入如下图片:
<a href="">
<img src="src of image" width="" height="">
</a>
我需要做什么? PHP中的这个变量叫做$thumbnails
,它返回我上面显示的JSON。
<?php echo $thumbnails ?>
LE:我的解决方案是:
<?= '<script>var json='.$thumbnails.'</script>' ?>
console.log(json);
这会在控制台中返回json。
答案 0 :(得分:1)
在你的javascript中,你必须通过执行get请求来请求你的php函数(假设你使用jQuery)。之后,在成功回调中,您拥有数据。所以尝试类似的东西:
$.ajax({
url : 'file.php', // your php file
type : 'GET', // type of the HTTP request
success : function(data){
var obj = jQuery.parseJSON(data);
console.log(obj);
}
});
您可以前往here了解更多信息
答案 1 :(得分:0)
如果你正在使用jQuery:$.parseJSON()。
如果您使用普通的javascript:JSON.parse()
@Directive({ selector: '[pdHasRole]' })
export class UserHasRoleDirective {
constructor(private templateRef: TemplateRef<any>,
private viewContainer: ViewContainerRef,
private userService: UserService) {
}
@Input() set pdHasRole(role: string) {
this.viewContainer.clear();
if (this.userService.userContext && this.userService.userContext.roles && this.userService.userContext.roles.length > 0) {
if (role) {
if (this.userService.userContext.roles.indexOf(role) > -1) {
this.viewContainer.createEmbeddedView(this.templateRef);
}
}
}
}
}
答案 2 :(得分:0)
您可以使用纯JavaScript执行此操作。
将JSON回显到脚本标记
var json = JSON.parse(document.getElementById('json').innerHTML);
var img = document.querySelector('img');
img.src = json.src;
img.width = json.width;
img.height = json.height;
然后使用JavaScript
进行定位/^\d*(?:\.\d{1,2})*$/