我遇到了这个JavaScript错误:意外的令牌<;

我遇到了这个JavaScript错误:意外的令牌<;,javascript,jquery,json,Javascript,Jquery,Json,当我尝试解析JSON时,我甚至不知道为什么会出现以下错误: Uncaught SyntaxError: Unexpected token < login.js:7 $.ajax.success login.js:7 l jquery2.0.js:4 c.fireWith jquery2.0.js:4 k jquery2.0.js:6 (anonymous function) 此错误通常在后端服务(index.php?…)返回html页面而不是json时显示。确保服务器响应一切正常,并再次

当我尝试解析JSON时,我甚至不知道为什么会出现以下错误:

Uncaught SyntaxError: Unexpected token < login.js:7
$.ajax.success login.js:7
l jquery2.0.js:4
c.fireWith jquery2.0.js:4
k jquery2.0.js:6
(anonymous function)

此错误通常在后端服务(index.php?…)返回html页面而不是json时显示。确保服务器响应一切正常,并再次检查是否进行了正确的ajax调用

我有过很多次这样的错误,99%的案例都是服务器上的错误


如果您确信服务器响应良好,那么使用json验证器检查响应。可能有一个不需要的字符未被替换。

您确定您的web服务返回了有效的JSON吗?(提示:返回的是HTML或XML)。还有,为什么要自己解析呢?将数据类型设置设置为“json”,让jQuery为您执行此操作。如果失败,将触发
错误
回调,错误为
'parseerror'
在浏览器中点击F12,并检查网络选项卡以查看实际返回的内容。
控制台.log(数据)
的结果是什么?(尝试将其放在JSON.parse()方法之前,以便在错误之前打印)对于检查JSON的有效性非常有用。使用它来验证Web服务返回给您的内容!要调试此日志,请尝试
console.log(data)
而不设置
数据类型:'JSON'
(因为如果您设置的数据类型不是有效的JSON,那么将调用错误处理程序(您还没有提供错误处理程序),而不是成功处理程序)。
$(".input-submit").click(function(){
    $.ajax({
        url: "./index.php?action=login",
        type: "POST",
        data: {login:$("#login").val(),password:$("#password").val()},
        success: function(data) {
            data = JSON.parse(data);
            console.log(data);
        }
    });
});