2016-10-13 3 views
0

У меня есть угловая директива js, из которой я вызываю одну функцию, которая имеет вызов ajax для вызова web-метода C#.Веб-метод не попадает в 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); 
} 

Это не ударять веб-метод, ни успех или неудачу вызывался, но управление переходит в test функции. Любые подсказки, где я иду не так.

+0

что такое код ошибки в консоли вашего браузера ?? –

+0

функция называется 'test1', но вы вызываете' test'. не может быть, не так ли? – Hazonko

+0

@ Хазонько где вы видите test1? – KSib

ответ

0

Добавьте это к вашему вызову ajax. Это должно дать вам лучшее сообщение, чтобы действовать.

error: function (request, status, error) { 
       alert('Error: ' + error); 
      } 
+0

Даёт внутреннюю ошибку сервера –

+0

Вы уверены, что путь в вызове ajax правильный? Либо путь неверен, либо вам нужно передать больше параметров, либо тип возврата отличается от ожидаемого. –

+0

Правильно, теперь вы знаете, что ваш JS вызывает веб-метод, а * webmethod * (код C#) дает ошибку. Отладка веб-метода. –

1

Там нет failure обратного вызова в $ .ajax:

failure: function(response) { 
    alert(response.d); 
} 

изменить это на error: или использовать обещание

error: function(response) { 
    alert(response.d); 
} 

http://api.jquery.com/jquery.ajax/

Вполне возможно, что это ошибка-ки из-за веб-метода, но вы этого не видите. Подтвердите, изменив URL-адрес на то, что явно не существует, например «.../mywebmethodxxxxxxx»

Смежные вопросы