我有以下代码作为我的.ajax部分
success: function (data) {
alert("success");
},
error: function(xhr, ajaxOptions, thrownError) {
alert(xhr.status);
}
第一个警报永远不会运行,但使用以下内容正确提交数据:
data: JSON.stringify({ "solution": JSON.stringify(data) }), // Data is HTML
事实上,第二个警报返回状态为200,而且谷歌Chrome控制台的所有内容都很好。
有什么想法吗?完整代码:
var request = jQuery.ajax({
url: "/answers/"+content_id,
type: "POST",
data: JSON.stringify({ "solution": data }),
dataType: "json",
headers: {
Authorization: 'Basic XXX',
'X-HTTP-Method-Override': 'PATCH',
'Content-Type': 'application/json'
},
success: function (data) {
alert("success");
},
error: function(xhr, ajaxOptions, thrownError) {
alert(xhr.status);
}
});
答案 0 :(得分:2)
$ .ajax函数需要JSON数据作为响应。如果响应不是JSON,则将调用错误回调。请查看您从服务器发送的内容。
答案 1 :(得分:0)
请测试一些事情:
设置type: "GET"
而不是帖子。看看这个:GET OR POST
标题数据是字符串(名称/值),也许你的数据编码是utf8所以设置
headers: {
'Authorization': 'Basic XXX', //high recommended
'X-HTTP-Method-Override': 'PATCH',
'Content-Type': "application/json; charset=utf-8" //low
},
测试另一个单词而不是数据以避免冲突:
success: function (response)