我有一段Javascript代码,以前在PHP5.6上工作过,但是,当我升级到PHP7.2时,它停止工作并得到以下错误:
VM505:2 Uncaught SyntaxError: Unexpected token <
at Function.globalEval (jquery.tools.min.js:49)
at Function.httpData (jquery.tools.min.js:152)
at XMLHttpRequest.x.onreadystatechange (jquery.tools.min.js:149)
globalEval @ jquery.tools.min.js:49
httpData @ jquery.tools.min.js:152
x.onreadystatechange @ jquery.tools.min.js:149
XMLHttpRequest.send (async)
ajax @ jquery.tools.min.js:150
chkpwd @ hw.php:295
onclick @ hw.php:877
我不知道错误是chkpwd @ hw. php 295,但这个函数实际上在第387行。所以,我不知道去哪查。
调试和修复它的最佳方法是什么?
function chkpwd() {
var pwd_val = $("#engpassword").val();
$.ajax({
url: 'password.php',
dataType: 'jsonp',
jsonp: 'processData',
data: {
pwd: pwd_val,
callback: 'pwdaction'
},
error: function(xhr) {
alert('Ajax request error!');
$(e.target).attr('disabled', false);
}
});
}
4条答案
按热度按时间bt1cpqcv1#
通常它指的是一个响应,而不是一个可解析的JSON返回(IE)一个HTML,其开始标记以
<
开始oyt4ldly2#
如果您正在使用React应用程序,并且在控制台中看到此错误,则可能是由于index.html文件中缺少script标签的“type”属性。确保包含type=“text/jsx”。
此外,您试图访问的URL没有返回Javascript或JSON,而是返回HTML,请给予脚本标记的“src”属性的正确路径,以“/”开头,后跟.js文件的路径。
我从下面的链接参考,做看看,因为我刚刚简要介绍了什么是写在这篇文章:https://idiallo.com/javascript/uncaught-syntaxerror-unexpected-token#n
PS -浏览文章中的评论部分
ax6ht2ek3#
在我的情况下(Webpack v.5 + React),它发生在具有第二层或更多嵌套级别的页面上。所有资源都使用相对路径包含,如
sct="./index.js"
。所以对于嵌套的页面变得破碎。要修复它,需要添加
<base href="http://yoursitename.com">
如果您使用webpack,您可以添加:
它将注入元素
<base href="...">
x6yk4ghg4#
只需要将`type=“text/jsx”添加到你的index.html公共文件中即可。