首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >向JS发送JSON编码的PHP变量

向JS发送JSON编码的PHP变量
EN

Stack Overflow用户
提问于 2014-08-06 21:21:41
回答 3查看 105关注 0票数 0

我正在尝试向我的javascript发送一个PHP变量。为了做到这一点,我用json对php变量进行编码,用我的控制器将它发送到我的视图,以隐藏的html形式使用它作为一个值,然后用js提取值,使用parseJSON获得最终产品。

(我使用的是laravel,括号相当于标记):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<input type="hidden" id="js-helper-artist-likes" name="js-helper-artist-likes" value="{{$artist_likes}}">

JS

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var artist_likes = $('#js-helper-artist-likes').val();
    console.log(artist_likes);

在页面源代码中,我看到这个值是用json字符串填充的,但是当我像上面这样从js将它打印到控制台时,所显示的只有:[{

我不知道这是为什么。

我想表演:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var artist_likes_decoded = $.parseJSON(artist_likes);

要获得JS中的解码变量,这是不可能的,但如果js中的artist_likes变量中没有正确的编码字符串,这是不可能的。

知道我做错什么了吗?谢谢。

EN

回答 3

Stack Overflow用户

发布于 2014-08-06 21:28:27

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<input type="hidden" id="js-helper-artist-likes" name="js-helper-artist-likes" value="{{ echo $artist_likes}}">
票数 0
EN

Stack Overflow用户

发布于 2014-08-06 21:42:22

你可以用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <input type="hidden" id="js-helper-artist-likes" name="js-helper-artist-likes" value="<?= json_encode($artist_likes) ?>">
票数 0
EN

Stack Overflow用户

发布于 2014-08-06 22:26:32

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <?php
      $yourVariable ="something";
      $arr = json_encode(array("name"=>$yourVariable));
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>

<body>
<input type="hidden" id="js-helper-artist-likes" name="js-helper-artist-likes" value='<?php echo $arr; ?>'>
<script>
$(document).ready(function(){
var artist_likes = $('#js-helper-artist-likes').val();
console.log($.parseJSON(artist_likes));
});

</script>
</body>
</html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25174727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文