Jquery 数据数据意外结束=JSON.parse(errorshown.responseText);
我有以下脚本。在出现错误时,它通过显示一个模态来工作。我已经测试过了,它工作了。如果成功,它将显示一个警报框,但我收到消息:Jquery 数据数据意外结束=JSON.parse(errorshown.responseText);,jquery,Jquery,我有以下脚本。在出现错误时,它通过显示一个模态来工作。我已经测试过了,它工作了。如果成功,它将显示一个警报框,但我收到消息: SyntaxError: JSON.parse: unexpected end of data 以下是引发错误的行: data = JSON.parse(errorThrown.responseText); 然而,它不应该在成功的基础上运行这个,对吗 谁能看一下吗 成功后,页面将返回所创建的201 $.ajax({ url: '/accounts/cr
SyntaxError: JSON.parse: unexpected end of data
以下是引发错误的行:
data = JSON.parse(errorThrown.responseText);
然而,它不应该在成功的基础上运行这个,对吗
谁能看一下吗
成功后,页面将返回所创建的201
$.ajax({
url: '/accounts/create/',
type: 'POST',
dataType: "json",
},
data: $('#registration').serialize(),
success: function () {
console.log('success');
alert("test")
},
error: function (errorThrown) {
data = JSON.parse(errorThrown.responseText);
$('#account-error').modal("show");
$('#error-text').html(data.error);
console.log(errorThrown);
}
});
您试图解析为JSON的数据不是 你可以用
if(jQuery.parseJSON的类型(errorshorn.responseText)==“object”)
检测响应文本是否为有效的JSON格式
希望这有帮助
编辑
您可能希望尝试使用:
您正试图用JSON解析Javascript对象,当您在ajax请求中指定数据类型时,响应已经从JSON转换为Javascript对象。您试图解析为JSON的数据不是 你可以用
if(jQuery.parseJSON的类型(errorshorn.responseText)==“object”)
检测响应文本是否为有效的JSON格式
希望这有帮助
编辑
您可能希望尝试使用:
您正在尝试用JSON解析Javascript对象,当您在ajax请求中指定数据类型时,响应已经从JSON转换为Javascript对象。问题在于数据类型。错误将是json,但看起来您的成功数据类型不是json。这意味着它会再次触发“error”函数。只需删除数据类型,看看会发生什么。问题在于数据类型。错误将是json,但看起来您的成功数据类型不是json。这意味着它会再次触发“error”函数。只需删除数据类型,看看会发生什么。
errorhorn.responseText
不是JSON格式,无法解析。errorhorn.responseText
的值是多少?errorhorn没有“responseText”字段errorhorn。responseText
不是JSON格式,无法解析。的值是多少errorThrown.responseText
?errorThrown没有“responseText”字段,所以您要说的是函数error:function(errorThrown)也会在成功时运行?@User7似乎是这样,因为该函数运行。。。此外,当jQuery.post
可用时,也不需要使用jQuery.ajax
重新发明轮子。我编辑我的答案就是为了说明这一点。@User7我没有注意到,但您试图用JSON解析JAvascript对象,编辑了我的答案。。。对不起,你的大脑放屁了…那么你说的是函数错误:函数(errorhorn)也在成功时运行?@User7似乎是这样,因为该函数运行。。。此外,当jQuery.post
可用时,也不需要使用jQuery.ajax
重新发明轮子。我编辑我的答案就是为了说明这一点。@User7我没有注意到,但您试图用JSON解析JAvascript对象,编辑了我的答案。。。对不起,我的大脑放屁…该死,在他之后1分钟的评论中说的,FML:|该死,在他之后1分钟的评论中说的,FML:|
var ajaxRequest = jQuery.post("/accounts/create/", $('#registration').serialize(), function() {
//On success
})
.fail(function(errorThrown) {
data = errorThrown.responseText;
$('#account-error').modal("show");
$('#error-text').html(data.error);
console.log(errorThrown);
});