我尝试了很多方法,但是没有办法,总是出现这个错误,我试图只使用一个选项来查看是否通过,更改了jquery的调用,但没有。
我在互联网上查找了关于这个错误的各种地方,但无法解决或理解为什么会发生这种错误。在我的pc上使用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...<br clear="all"><br><img src="images/switch-loading.gif" />');
$.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
发布于 2013-09-02 02:55:49
这通常发生在你包含或发布到一个不存在的文件的时候。服务器将返回一个常规的html格式的"404未找到“,并包含在
'<html></html>'
标签。第一个chevron <既不是有效的js也不是有效的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
响应来检查它是否有效。
发布于 2013-09-02 02:45:05
您有不必要的;
(分号):
示例如下:
}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');
};
发布于 2015-02-25 22:20:00
我怀疑你得到的是text/html编码来响应你的请求,所以我认为问题是:
dataType : 'json',
尝试将其更改为
dataType : 'html',
来自http://api.jquery.com/jQuery.get/
dataType类型: String期望从服务器获取的数据类型。默认值:智能猜测(xml、json、script或html)。
https://stackoverflow.com/questions/18561556
复制相似问题