PHP调用脚本函数,返回值为Uncaught SyntaxError:意外的令牌ILLEGAL
PHP call script function, with return value - Uncaught SyntaxError: Unexpected token ILLEGAL
我的函数,它可以工作:
<script>
function createCookie(name,value,sec) {
if (sec) {
console.log('createCookie: '+name+', '+value+', '+sec);
var date = new Date();
date.setTime(date.getTime()+(sec*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0)
{ console.log('readCookie: '+name+',value: '+c.substring(nameEQ.length,c.length));
return c.substring(nameEQ.length,c.length);
}
}
console.log('readCookie: '+name+', NULL');
return null;
}
</script>
调用后台工作(正如我在控制台中看到的)
<?
echo '<script type="text/javascript">createCookie("'.$cookie_random_photo.'","'.$randf.'",60);</script>';
echo '<script type="text/javascript">readCookie("'.$cookie_random_photo.'");</script>';
?>
但当我探测到输出时,这会导致未捕获的语法错误:意外的令牌非法
<?
ob_start();
echo '<script type="text/javascript">readCookie("'.$cookie_random_photo.'");</script>';
$returned_value = ob_get_contents();
ob_end_clean();
?>
或
<?
ob_start();
echo '<script type="text/javascript">readCookie("'.$cookie_random_photo.'");</script>';
$returned_value = ob_get_clean();
?>
这会生成错误,并且屏幕输出"');",不调用readCookie()。
如何正确获取$returned_value?
编辑完整js错误
VM119792:1 Uncaught SyntaxError:
Unexpected token ILLEGAL
c.extend.globalEval @ jquery.js:29
Qa @ jquery.js:16
c.extend.each @ jquery.js:30
c.fn.extend.domManip @ jquery.js:110
c.fn.extend.append @ jquery.js:103
c.fn.extend.html @ jquery.js:107c.ajax.complete @ jquery.js:120
d @ jquery.js:124
x.onreadystatechange @ jquery.js:129
这很可能与服务器和客户端的字符集有关。你能像下面这样在脚本标签中添加charset="utf-8",看看这是否能解决问题吗?
echo '<script type="text/javascript" charset="utf-8">readCookie("'.$cookie_random_photo.'");</script>';
还记得实际打印输出
<?
ob_start();
echo '<script type="text/javascript">readCookie("'.$cookie_random_photo.'");</script>';
$returned_value = ob_get_contents();
ob_end_clean();
echo $returned_value; // <-- Only this will echo the contents back to the client.
?>
相关文章:
- jquery ajax”;SyntaxError:意外的输入结束“;基于有效的JSON
- SyntaxError:意外的标记else(我在代码中找不到错误)
- "未捕获的SyntaxError:意外的令牌ILLEGAL“;当我通过AJAX发送html时
- JavaScript-Gulp/Browserify:SyntaxError:意外的令牌
- Jquery .ajax() SyntaxError: 意外的令牌 N.
- jQuery.ajax Uncatch SyntaxError: 意外标识符
- jQuery after() uncatch SyntaxError: 意外令牌 ILLEGAL
- 为什么JSON.parse()在尝试解析一个简单的JSON对象时抛出Uncaught SyntaxError:意外的令牌
- SyntaxError:意外的COMPARE与coffeescript和涡轮链接
- 使用带有es6的文件时,服务器端SyntaxError意外标识符
- 未捕获的SyntaxError:意外的令牌},没有可见的错误
- Angular 2:SyntaxError:意外的标记<
- 未捕获的SyntaxError:意外的令牌-Can'我找不到看不见的性格
- nknown错误:Runtime.evaluate引发异常:SyntaxError:意外的令牌var
- 抛出未捕获的SyntaxError:意外的令牌)
- 获取错误SyntaxError:意外的令牌<djangojquery文件上传
- SyntaxError:意外的令牌返回
- AngularJS angular.js:12520 SyntaxError:意外的令牌ILLEGAL附属窗口
- Android网络视图”;未捕获的SyntaxError:意外的令牌ILLEGAL“;
- PHP调用脚本函数,返回值为Uncaught SyntaxError:意外的令牌ILLEGAL