Jquery Ajax成功不会触发,而是完成事件工作
Jquery Ajax success wont firing instead complete event works
我使用Angular Js与JQuery在一个面条的方式。请看下面的代码
app.controller('ClassController', function ($scope) {
$scope.ShowHideNoRecords = false;
var credentials = new Object();
credentials.SourceName = "###";
credentials.SourcePassword = "###";
credentials.UserName = "###";
credentials.UserPassword = "##";
credentials.SiteId = [-99];
var locationIds = [1];
var startDate = Date.today();
var endDate = startDate;
var dto = { credentials: credentials, startDate: startDate, endDate: endDate, locationId: locationIds };
$.ajax({
type: "POST",
url: 'MbApiConnector.asmx/GetAllClasses',
data: JSON.stringify(dto),
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
success: function (response) {
alert(response.d);
},
complete: function (msg) {
$scope.$apply(function () {
$scope.Classes = JSON.parse(JSON.parse(msg.responseText).d);
if ($scope.Classes.length > 0) {
$scope.checkin = function (id) {
dto = { credentials: credentials, classId: id };
$.ajax({
type: "POST",
url: 'MbApiConnector.asmx/Checkin',
data: JSON.stringify(dto),
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
complete: function (msg) {
alert(msg.responseText);
}
});
}
}
else {
$scope.ShowHideNoRecords = true;
}
});
}
});
});
app.controller('ClassController', function ($scope) {
$scope.ShowHideNoRecords = false;
var credentials = new Object();
credentials.SourceName = "###";
credentials.SourcePassword = "###";
credentials.UserName = "###";
credentials.UserPassword = "##";
credentials.SiteId = [-99];
var locationIds = [1];
var startDate = Date.today();
var endDate = startDate;
var dto = { credentials: credentials, startDate: startDate, endDate: endDate, locationId: locationIds };
$.ajax({
type: "POST",
url: 'MbApiConnector.asmx/GetAllClasses',
data: JSON.stringify(dto),
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
success: function (response) {
alert(response.d);
},
complete: function (msg) {
$scope.$apply(function () {
$scope.Classes = JSON.parse(JSON.parse(msg.responseText).d);
if ($scope.Classes.length > 0) {
$scope.checkin = function (id) {
dto = { credentials: credentials, classId: id };
$.ajax({
type: "POST",
url: 'MbApiConnector.asmx/Checkin',
data: JSON.stringify(dto),
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
complete: function (msg) {
alert(msg.responseText);
}
});
}
}
else {
$scope.ShowHideNoRecords = true;
}
});
}
});
});
这段代码一切正常。我知道把两者混在一起是个坏主意,但我的应用程序已经是用Jquery Ajax开发的,我们正在用Angular JS升级,但改动较少。所以我想出了这个解决方案。无论如何,我的问题是,jquery ajax成功函数没有得到调用。我能够从webservice接收数据,但是在完整的方法中,正如您在上面的代码中看到的那样。
你能解释一下它为什么会这样吗?
可能是Jquery解析失败,结果可能不是JSON格式,尝试使用错误回调函数查找错误。你可以尝试使用dataType: 'json'。错误:function (err) {alert(err)}
相关文章:
- Jquery.点击事件不'更改事件后无法工作
- 当我更改innerHtml时,引导选项卡事件不再工作
- IE8更改文本区域上的事件侦听器不工作
- xPages标签onclick事件不'不要在空白处工作
- 为什么此事件侦听器不工作
- 主干点击事件按钮不工作
- 为什么动态加载的事件在我的代码中不能正常工作
- onbeforeunload事件在我的代码中没有触发,但其他示例可以工作
- 谷歌分析跟踪内部链接不正常工作的事件
- java脚本点击事件处理程序不工作
- javascript中无法正常工作的事件顺序
- MS Dynamics CRM 2016-addOnKeyPress事件不工作
- dropable的Over事件是't工作正常,在可拖动对象被拖放到贪婪的可拖动对象上并再次拖动后
- jQuery点击()事件在另一个点击()中获胜'我不能在手机上工作
- 如何使参数在事件函数中工作
- JavaScript's onmouseout事件未按预期工作
- CSS + jQ插件阻止AJAX调用/事件侦听器工作
- JavaScript on Click 事件在 img 标签上无法正常工作
- 脚本在“点击”下工作事件,但不是单独的(Backbone.js)
- 一些javascript代码不工作-事件处理程序'onclick'中的if()语句