Javascript 获得;语法错误:意外标记“0”;从ajax调用函数时
我在使用ajax调用php文件时遇到语法错误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:
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函数调用了另一个函数,但该函数不存在。我不知道开发人员工具中有一个特殊的响应选项卡。我还学到了一些东西:)谢谢。