我有一个AJAX调用可以正常使用以下代码:
$.ajax({
url: "filename.php",
type:"POST",
data: {
"pType":pType},
dataType: "json",
complete:function(){
$('body, html').animate({scrollTop:$('#adminFunctions').offset().top}, 'slow');
}
});// end ajax call
但是当我尝试添加错误时:& AJAX调用的成功参数,脚本不再起作用。
$.ajax({
url: "filename.php",
type:"POST",
data: {
"pType":pType},
dataType: "json",
success: function() {
$('#resultDiv').html('Success!' + response.responseText);
$('body, html').animate({scrollTop:$('#logoText').offset().top}, 'slow');
$('#addRentalPropertyForm').slideUp();
$('#resultDiv').slideDown();
$('#adminFunctionsA').slideDown();
},
error: function() {
$('#resultDiv').html('A problem has occurred.' + response.responseText);
$('body, html').animate({scrollTop:$('#logoText').offset().top}, 'slow');
$('#resultDiv').slideDown();
},
});// end ajax call
任何人都可以帮助指导我吗?我似乎无法弄清楚为什么会失败。完成:标记工作正常,数据提交成功,但是当我添加错误和成功代码时,它什么也没做。任何帮助将不胜感激,我确信它缺少一些基本的东西。
答案 0 :(得分:3)
$.ajax({
url: "filename.php",
type:"POST",
data: {
"pType":pType},
dataType: "json",
contentType: "application/json; charset=utf-8",
success:function(data) {
// This outputs the result of the ajax request
console.log(data);
alert ('Appears successful');
// $('#resultDiv').html('Success!' + response.responseText);
$('body, html').animate({scrollTop:$('#logoText').offset().top}, 'slow');
$('#addRentalPropertyForm').slideUp();
$('#resultDiv').slideDown();
$('#adminFunctionsA').slideDown();
},
error: function(errorThrown){
console.log(errorThrown);
alert ('Seems to be a problem');
// $('#resultDiv').html('A problem has occurred.' + response.responseText);
$('body, html').animate({scrollTop:$('#logoText').offset().top}, 'slow');
$('#resultDiv').slideDown();
return false;
}
});
答案 1 :(得分:1)
response
传递给error
和success
回调:dataType
json
response
不具有responseText
属性考虑将回调简化为console.log( response )
;一旦你知道了response
的结构,就可以编写你需要的任何逻辑。
success: function(response) {
$('#resultDiv').html('Success!' + response.responseText);
// ????
error: function(response) {
$('#resultDiv').html('A problem has occurred.' + response.responseText);
// ???
<强>更新强>
dataType:'json'
正在返回json
,否则您不应使用filename.php
。否则,您将获得 parseerror
。最有可能的是你得到的...... 返回的数据无法解析为json对象,因此错误回调将被触发。 使用dataType:'text'
或{{1}并且你的成功处理程序应该触发。 以下内容无效dataType:'html'
:
JSON