【问题标题】:JavaScript/PHP SyntaxError: missing ) after argument listJavaScript/PHP SyntaxError: missing ) 在参数列表之后
【发布时间】:2020-03-03 12:32:45
【问题描述】:

在运行下面的行(它将一个 json 格式的文件从我的 PHP 返回到我的 javascript)时,我收到“参数列表后未捕获的语法错误:缺少)”错误。

var moredata = JSON.parse("<?php echo json_encode(find_detailed_forecast()); ?>");

我不确定如何解决这个问题。如果我编辑该行以删除括号或添加一个 '' 对,那么我会得到一个“未找到请求的 URL /[object Object] 在此服务器上找不到”。当我查看控制台时,php echo 代码运行正常,所以我得到一个 JSON.parse(""long string here"")。不确定我的 javascript 到底出了什么问题,任何帮助将不胜感激。如果重要的话,我的 php、javascript 和 html 代码都在同一个文件中。

编辑:代码在执行时如下所示(它是一个非常长的文件,所以我不确定是否应该复制粘贴整个内容):

var moredata = JSON.parse(""{\"latitude\":999.123456,\"longitude\":-999.123456,\"timezone\":\"America\/New_York\",\"currently\":{ .... }"\n"");

【问题讨论】:

  • 你能否举一个渲染的 Javascript 的例子,这样我们就可以看到回显了什么?
  • 您应该删除引号",因为json_encode 添加了自己的:JSON.parse(&lt;?php echo json_encode(find_detailed_forecast()); ?&gt;);
  • @CertainPerformance 上面的编辑有帮助吗?
  • @ibrahimmahrir 我试过了,但后来我得到一个“未找到请求的 URL /[object Object] 在此服务器上找不到”。错误。我不确定我应该尝试找到解决哪个错误,因为我是 javascript 新手。

标签: javascript php error-handling syntax-error runtime-error


【解决方案1】:

JSON.parse 用双引号输出数据,所以你必须使用单引号。

var moredata = JSON.parse('<?php echo json_encode(find_detailed_forecast()); ?>');

【讨论】:

    猜你喜欢
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多