添加AJAX错误:&成功:打破常规
Adding AJAX error: & success: breaks script
我有一个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
但是当我尝试添加error: &成功参数的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
有谁能帮我指路吗?我似乎不明白为什么这是失败的。complete:标记工作正常,数据成功提交,但是当我添加错误和成功代码时,它什么也不做。任何帮助都将非常感激,我确信这是我缺少的一些基本的东西。
$.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;
}
});
- 您没有将
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'
,除非你确定filename.php
返回json
。否则,您将得到一个parseerror
。很可能这就是你得到的……返回的数据不能解析为json对象,因此会触发错误回调。使用dataType:'text'
或dataType:'html'
,你的成功处理程序应该触发
以下是无效的JSON
:
<!-- DATA FROM ADD RENTAL HERE --> ↵↵
<script type="text/javascript">alert('Property ID: 34');
</script>
<script type="text/javascript">alert('Amenities ID: 34');</script>↵↵ ↵ <!-- END DATA FROM ADD RENTAL -->↵ ↵ ↵ ↵ <!-- START DATA FOR IMAGE UPLOAD -->↵ ↵
<!-- END DATA FOR IMAGE UPLOAD -->↵ ↵
</div>↵
相关文章:
- 打破承诺链的好方法是什么
- 尽管链接成功并已成功下载,但未找到NPM模块
- 在另一个函数成功结束后调用该函数
- 在ajax成功后,cluetip不适用于首次点击活动元素
- jQuery成功函数中的ajax成功函数
- jQuery触发器点击未从AJAX成功工作
- 如何使用jQuery可编辑插件检查ajax是否成功完成
- 执行ajax成功函数-jQUERY
- 解析云代码错误:解析.错误{代码:141,消息:“未调用成功/错误”}
- 如何从servlet获取数据到ajax成功
- 成功回调永远不会被JSONP请求调用
- 将表单张贴到MailChimp,但显示动态成功页面
- ajax请求成功,但可以'我看不到我的数据
- I'我试图在文本区域中进行特定的输入,调用特定的javascript函数,但没有成功;不起作用
- AngularJs|Don'在成功加载所有指令htmls之前,不显示页面
- Node.js Passport成功登录后显示用户名
- Howto:常规测试,看看小部件是否调用this.herited成功
- 添加AJAX错误:&成功:打破常规
- Gulp任务在常规终端成功完成,但在原子终端失败
- 想要在使用 laravel(或常规 PHP)成功时将字符串从 PHP 返回给 AJAX