Javascript 将JSON编码的PHP变量发送到JS

Javascript 将JSON编码的PHP变量发送到JS,javascript,php,jquery,json,Javascript,Php,Jquery,Json,我正在尝试向我的javascript发送一个PHP变量。为了做到这一点,我用json编码php变量,用我的控制器将其发送到我的视图,用它作为隐藏html表单中的值,然后用js提取值,使用parseJSON获得最终产品 HTML(我使用的是laravel,括号相当于php标记): 在页面源代码中,我看到值填充了json字符串,但是当我像上面那样从我的js打印到控制台时,显示的是:[{ 我不知道这是为什么 我想表演: var artist_likes_decoded = $.parseJSON(ar

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

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

在页面源代码中,我看到值填充了json字符串,但是当我像上面那样从我的js打印到控制台时,显示的是:
[{

我不知道这是为什么

我想表演:

var artist_likes_decoded = $.parseJSON(artist_likes);
获取JS中的解码变量,但如果JS中的artist_like变量中没有正确显示编码字符串,这是不可能的

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


<input type="hidden" id="js-helper-artist-likes" name="js-helper-artist-likes" value="{{ echo $artist_likes}}">
您可以使用:

 <input type="hidden" id="js-helper-artist-likes" name="js-helper-artist-likes" value="<?= json_encode($artist_likes) ?>">

无标题文件

JSON格式必须是key:value对格式。我认为JSON编码的变量格式不正确。您应该喜欢这个数组(“name”=>$varable);json_对其进行编码,然后将其分配给隐藏标记。使用$.parseJSON,您将以正确的格式获取值。您可以在回答中的代码示例中显示此值吗?此外,变量是已发布回答下面的arraycheck请通过添加更多解释来改进您的回答这些回答都不正确…我告诉过您我使用的是Laravel,并且是blade语法(相当于),$artist_like已经是json编码的。如果您查看页面源代码,该值将填充为一个长json字符串。我的问题是,为什么将其打印为[{仅当我在javascript中使用.val拉取它时?我得到以下错误:Uncaught SyntaxError:inputany ideas意外结束为什么会这样?这并没有回答问题。
<input type="hidden" id="js-helper-artist-likes" name="js-helper-artist-likes" value="{{ echo $artist_likes}}">
 <input type="hidden" id="js-helper-artist-likes" name="js-helper-artist-likes" value="<?= json_encode($artist_likes) ?>">
    <?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>