Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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 获得;语法错误:意外标记“0”;从ajax调用函数时_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 获得;语法错误:意外标记“0”;从ajax调用函数时

Javascript 获得;语法错误:意外标记“0”;从ajax调用函数时,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我在使用ajax调用php文件时遇到语法错误 Uncaught SyntaxError: Unexpected token F Uncaught SyntaxError: Unexpected token F Uncaught SyntaxError: Unexpected token F Uncaught SyntaxError: Unexpected token F Uncaught SyntaxError: Unexpected token F Uncaught SyntaxError:

我在使用ajax调用php文件时遇到语法错误

Uncaught SyntaxError: Unexpected token F
Uncaught SyntaxError: Unexpected token F
Uncaught SyntaxError: Unexpected token F
Uncaught SyntaxError: Unexpected token F
Uncaught SyntaxError: Unexpected token F
Uncaught SyntaxError: Unexpected token F
通过复选框字段中的onclick事件调用
change\u produkt
函数。 此函数的输出如下所示:

现在,我调用第二个函数
fill_optionen
,并将数组传递给该函数。它对每个对象进行ajax调用。(本例为6次)

Javascript:

function fill_optionen(optionen) {
     console.log("fill_optionen called.."); // Debug
     var text = "";

     $j.each(JSON.parse(optionen), function (index, value) {

        jQuery.ajax({
           url: 'include/mutation_helper.php',
           data: {func: "render_opt", option: value},
           type: 'post',
           success: function(output) {
              console.log(JSON.parse(output)); // Debug

           }
        });
     });
  }

function change_produkt() {
     console.log("change_produkt called.."); // Debug

     var id_produkt = $j("#produkt").val();
     console.log("DEBUG -- id_produkt:"+id_produkt);

     jQuery.ajax({
        url: 'include/mutation_helper.php',
        data: {func: "get_opts", produkt: id_produkt},
        type: 'post',
        success: function(output) {
           console.log(JSON.parse(output)); // Debug

           fill_optionen(output);
        }
     });
  }
PHP:

只要我删除调用
render
函数的行,它就会工作。但为什么会有错误呢?我甚至没有打印出
$render
变量。
(render函数只返回字符串形式的html代码。)

jQuery将自动检测JSON响应并为您反序列化它。在结果对象上调用
JSON.parse
将导致错误-如您所见。试试这个:

success: function(output) {
    console.log(output); // Debug
    fill_optionen(output);
}

jQuery将自动检测JSON响应并为您反序列化它。在结果对象上调用
JSON.parse
将导致错误-如您所见。试试这个:

success: function(output) {
    console.log(output); // Debug
    fill_optionen(output);
}

似乎在
render
函数中有一个PHP错误。然后PHP打印出它的错误,这会导致JavaScript错误。因为JSON作为ajax请求返回的输出被排除在外,并且您得到了一个包含PHP错误消息的字符串。请查看ajax请求原始网络数据下的浏览器调试器,真正返回的是什么。

看来您的
呈现
函数中有一个PHP错误。然后PHP打印出它的错误,这会导致JavaScript错误。因为JSON作为ajax请求返回的输出被排除在外,并且您得到了一个包含PHP错误消息的字符串。请查看ajax请求原始网络数据下的浏览器调试器,真正返回的是什么。

作为旁注,不要在循环中调用多个ajax请求,最好只调用一次,所有值都要传递,并根据代码设置逻辑服务器端。
$render=render($option,$\u SESSION['mutation']);应该是
$render=render($opt,$_SESSION['mutation'])?@SearchAndResQ你说得对。但是错误仍然存在。如果在删除
渲染
函数调用后错误立即消失,但该函数本身不生成输出,那么它/调用它可能会生成错误消息/警告?查看您的AJAX调用在浏览器开发工具的网络面板中得到的实际响应–这是什么样子的?当然可以,否则这些消息就是您的AJAX请求得到的响应的一部分,并使JSON无效。作为旁注,不要在一个循环中调用多个AJAX请求,您最好只调用一次,所有值都要传递,并根据您的代码设置逻辑服务器端,这一行
$render=render($option,$\u SESSION['mutation')应该是
$render=render($opt,$_SESSION['mutation'])?@SearchAndResQ你说得对。但是错误仍然存在。如果在删除
渲染
函数调用后错误立即消失,但该函数本身不生成输出,那么它/调用它可能会生成错误消息/警告?查看您的AJAX调用在浏览器开发工具的“网络”面板中得到的实际响应–这是什么样子的?当然可以,否则这些消息就是您的AJAX请求得到的响应的一部分,并使JSON无效。但是错误不是由
控制台.log
操作引起的。我试过了,但错误仍然存在(但是错误不是由
console.log
操作引起的。我尝试了它,但错误仍然存在。:(render_option函数调用了另一个函数,但它不存在。我不知道开发人员工具中有一个特殊的响应选项卡。我还学到了一些东西:)谢谢。render_option函数调用了另一个函数,但该函数不存在。我不知道开发人员工具中有一个特殊的响应选项卡。我还学到了一些东西:)谢谢。