我有一个angular js指令,我在这里调用一个函数,它调用c#webmethod进行ajax调用。
app.directive("fileread", [function () {
return {
link: function ($scope, $elm, $attrs) {
$elm.on('change', function (changeEvent) {
var data = "some json data";
test(data);
});
};
};
}]);
从指令
调用的函数function test(json_object){
$.ajax({
type: "POST",
url: "/sites/Demo/_layouts/15/demo/demowebmethod.aspx/mywebmethod",
data: json_object,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function(response) {
alert(response.d);
}
});
}
function OnSuccess(response) {
alert(response.d);
}
无法通过Web方法调用成功或失败但控制进入test
函数。我出错的任何线索。
答案 0 :(得分:1)
$ .ajax中没有failure
回调:
failure: function(response) {
alert(response.d);
}
将此更改为error:
或使用承诺
error: function(response) {
alert(response.d);
}
http://api.jquery.com/jquery.ajax/
由于网络方法可能会出现错误,但您没有看到它。通过将网址更改为明显不存在的内容进行确认,例如“... / mywebmethodxxxxxxx”
答案 1 :(得分:0)
将此添加到您的ajax调用中。它应该给你一个更好的信息来采取行动。
error: function (request, status, error) {
alert('Error: ' + error);
}