Php JSON响应中的换行标记非法?
在发送回一些JSON后,JavaScript错误与:Php JSON响应中的换行标记非法?,php,javascript,jquery,ajax,json,Php,Javascript,Jquery,Ajax,Json,在发送回一些JSON后,JavaScript错误与: Uncaught SyntaxError: Unexpected token ILLEGAL 当我用带换行符的字符串响应时,如: { "call": "myFunction("<ul>↵ <li>Passwords are case-sensitive, that is the lower-case letter \"a\" is diffe...")" } 我用它工作: <script> &l
Uncaught SyntaxError: Unexpected token ILLEGAL
当我用带换行符的字符串响应时,如:
{ "call": "myFunction("<ul>↵ <li>Passwords are case-sensitive, that is the lower-case letter \"a\" is diffe...")" }
我用它工作:
<script>
<?php
$json = '{ "call": "myFunction(\\\"<ul>
<li>Passwords are case-sensitive, that is the lower-case letter \\\"a\\\" is diffe...\\\")" }';
$json = str_replace("\n", "\\\n", $json);
echo "var str = '".$json."';";
?>
document.write(str);
str = JSON.parse(str);
alert(str.call);
</script>
我用它工作:
<script>
<?php
$json = '{ "call": "myFunction(\\\"<ul>
<li>Passwords are case-sensitive, that is the lower-case letter \\\"a\\\" is diffe...\\\")" }';
$json = str_replace("\n", "\\\n", $json);
echo "var str = '".$json."';";
?>
document.write(str);
str = JSON.parse(str);
alert(str.call);
</script>
如果您正确地生成JSON,就永远不会发生这种情况。向我们展示如何生成JSON。另外,显示原始响应。unquotecall
和myFunction之后的双引号(< /代码>也是无效的JSON…@ dCODER,是的,我手动键入那个键。我会修复它。至于双引号它工作,当我试图逃脱它,那么它不工作。你究竟是如何产生那个破JSON?是的,手动修改JSON是个坏主意。发送JS代码作为JSON的一部分更糟糕。考虑编码需要的函数调用。不同的是,例如,作为一个assoc数组,其中包含描述要调用的函数的键和要传递给它的参数。如果正确生成JSON,则永远不会发生这种情况。向我们展示如何生成JSON。同时,向我们展示原始响应。未加引号的call
和myFunction之后的双引号(< /代码>也是无效的JSON…@ dCODER,是的,我手动键入那个键。我会修复它。至于双引号它工作,当我试图逃脱它,那么它不工作。你究竟是如何产生那个破JSON?是的,手动修改JSON是个坏主意。发送JS代码作为JSON的一部分更糟糕。考虑编码需要的函数调用。不同的是,例如,作为一个assoc数组,其中的键描述要调用的函数和要传递给它的参数。