语法错误:意外的符号 <

16 浏览
0 Comments

语法错误:意外的符号 <

我尝试了很多方法,但总是出现这个错误。

我试着只使用一个选项来看是否能通过,改变了jquery的调用方式,但没用。

我在网上的各个地方查找了关于这个错误的信息,但无法解决或理解为什么会发生这种情况。

在我的电脑上使用EasyPHP工作得很完美,但放到网上就不起作用了。

语法错误:意外的令牌<

这是我的代码:

$(function(){
  $('#salvar').click(function(){
    var key = 'salvar';
    var title = $('#title').val();
    var opcao1 = $('#opcao1').val();
    var opcao2 = $('#opcao2').val();
    var opcao3 = $('#opcao3').val();
    var opcao4 = $('#opcao4').val();
    var opcao5 = $('#opcao5').val();
    var opcao6 = $('#opcao6').val();
    if(title.length > 0){
      if(opcao2.length > 0){
        $('#resposta').removeClass().html('Salvando a enquete...
'); $.ajax({ type : 'POST', url : 'funcoes/enquete_adm.php', dataType : 'json', data: {key:key,title:title,opcao1:opcao1,opcao2:opcao2,opcao3:opcao3,opcao4:opcao4,opcao5:opcao5,opcao6:opcao6}, success : function(data){ if(data.sql == 'ok'){ $('#resposta').addClass('success-box').html('Enquete Salva!').fadeIn(1000); $('#control').fadeOut(); }else if(data.sql == 'error'){ $('#resposta').addClass('info-box').html('Ops, aconteceu um erro. Por favor, tente novamente').fadeIn(1000); } }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert("XMLHttpRequest " + XMLHttpRequest[0]);alert(" errorThrown: " + errorThrown);alert( " textstatus : " + textStatus); } }); }else{ $('#resposta').addClass('warning-box').html('É necessário no mínimo duas opções'); }; }else{ $('#resposta').addClass('warning-box').html('Coloque a pergunta da enquete'); }; return false; }); }); // End

0
0 Comments

我怀疑你在请求的响应中得到的是text/html编码,所以我认为问题是:

dataType : 'json',

尝试将其改为

dataType : 'html',

http://api.jquery.com/jQuery.get/

dataType

类型:字符串

从服务器期望的数据类型。默认值:智能猜测(xml、json、script或html)。

0
0 Comments

在上述代码中,出现了语法错误:意外的令牌<。这个错误的原因是因为在代码中使用了不必要的分号(;)。

这个错误的解决方法是删除这些不必要的分号。在上述代码中,分号位于代码块的结尾处,而代码块的结尾应该是右括号(})。因此,只需要删除这些分号即可修复错误。

修复后的代码如下所示:

}else{
    $('#resposta').addClass('warning-box').html('É necessário no mínimo duas opções');
}
// 另一个例子
}else{
    $('#resposta').addClass('warning-box').html('Coloque a pergunta da enquete');
}

通过删除不必要的分号,我们成功修复了语法错误。这样,代码就可以正常运行了。

0
0 Comments

这个问题的出现原因是在包含或提交一个不存在的文件。服务器会返回一个常规的HTML格式的"404 Not Found"错误,其中包含'<html></html>'标签。这个标签中的第一个尖括号<既不是有效的JavaScript代码,也不是有效的JSON,因此会触发一个意外的标记。

解决方法是尝试将'funcoes/enquete_adm.php'更改为绝对URL,以确保文件存在。

另外,根本原因可能并不总是来自于404错误。有时候你可能向API发出请求,收到的是HTML格式的错误。我遇到过几种情况,API端点应该返回{error: "you must be authenticated to make this request"},并带有401头部。但是实际上我收到的是<html>You must be authenticated to make this request</html>,并带有200头部。

由于头部是200,你无法事先判断请求是否失败,只能尝试使用JSON.parse解析响应以检查其是否有效。

奇怪的是,我有几个使用JS URL的相同方式的命令,它们都可以正常工作,只有这个命令出现问题。而且在我的电脑上可以正常工作,但在服务器上却无法工作。

感谢您的帮助。对我来说,这个方法是有效的。我拼写错误了我的js文件名。

0