Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 包含单引号的JSON会导致syntaxerror_Javascript_Php_Json_Syntax Error - Fatal编程技术网

Javascript 包含单引号的JSON会导致syntaxerror

Javascript 包含单引号的JSON会导致syntaxerror,javascript,php,json,syntax-error,Javascript,Php,Json,Syntax Error,所以我有需要通过php获取的数据。然后,应将该数据保存到.php文件中的javascript变量中,以响应以下值: $json = json_encode($requirements); echo "<script> var myvar = '<?php echo $json; ?>'; </script>"; 错误显示页面源类似于: var myvar = '<?php echo {"data":{"data":{"1":

所以我有需要通过php获取的数据。然后,应将该数据保存到.php文件中的javascript变量中,以响应以下值:

$json = json_encode($requirements);
echo "<script>
        var myvar = '<?php echo $json; ?>';
      </script>";
错误显示页面源类似于:

var myvar = '<?php echo {"data":{"data":{"1":{"description":"Don'    t}}}}; ?>';

var myvar='您需要转义
'
字符,例如使用反斜杠
\

{"data":{"data":{"1":{"description":"Don\'t}}}}

或者,当您使用php时,您可以使用函数

,然后需要转义
字符,例如使用反斜杠
\

{"data":{"data":{"1":{"description":"Don\'t}}}}

或者,当您使用php时,可以使用函数

如果需要转义双引号,请尝试:

 var myvar = "<?php echo '{\"data\":{\"data\":{\"1\":{\"description\":\"Don\'t}}}}'; ?>";
 alert(myvar)
var myvar=”“;
警报(myvar)

您需要转义双引号,请尝试:

 var myvar = "<?php echo '{\"data\":{\"data\":{\"1\":{\"description\":\"Don\'t}}}}'; ?>";
 alert(myvar)
var myvar=”“;
警报(myvar)

我也遇到过单引号和双引号的相同问题。 您可以通过更改单引号和双引号轻松解决此问题。检查下面的示例

$array = array(
         "data" => array("data" => array ("desc" => "don't"))
        );

$json = json_encode($array);        

echo "<script>
        var myvar = ".$json.";
        console.log(myvar);
      </script>";
$array=array(
“数据”=>数组(“数据”=>数组(“描述”=>“不”))
);
$json=json_encode($array);
回声“
var myvar=“.$json.”;
console.log(myvar);
";

我也遇到过单引号和双引号的相同问题。 您可以通过更改单引号和双引号轻松解决此问题。检查下面的示例

$array = array(
         "data" => array("data" => array ("desc" => "don't"))
        );

$json = json_encode($array);        

echo "<script>
        var myvar = ".$json.";
        console.log(myvar);
      </script>";
$array=array(
“数据”=>数组(“数据”=>数组(“描述”=>“不”))
);
$json=json_encode($array);
回声“
var myvar=“.$json.”;
console.log(myvar);
";

您的意思是将其用作字符串,还是将其解释为对象文本,例如您以后不必调用
JSON.parse
?如果后者根本没有用引号括起来,那么不用引号括起来会导致另一个错误“您的意思是将其用作字符串,还是将其解释为对象文本,例如您以后不必调用
JSON.parse
?如果后者根本没有用引号括起来,则不用引号括起来会导致另一个错误,即“使用addslashes有效!谢谢!在W3,它会说”默认情况下,PHP会在所有GET、POST和COOKIE数据上运行addslashes()“。除了响应SQL查询之外,我不确定如何接收此数据。使用addslashes有效!谢谢在W3,它说“默认情况下,PHP在所有GET、POST和COOKIE数据上运行addslashes()。除了响应SQL查询外,我不确定如何接收此数据。