Web方法没有受到ajax通话的打击

时间:2016-10-13 15:18:07

标签: c# jquery angularjs ajax webmethod

我有一个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函数。我出错的任何线索。

2 个答案:

答案 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);
            }