2017-02-07 3 views
0

Я пытаюсь вызвать WebMethod с помощью AJAX POST, но браузер продолжает открывать диалоговое окно проверки подлинности. Я не сталкивался с этой проблемой, прежде чем использовать аналогичный код, подробно описанный ниже.

В моем файле search.aspx я следующее:

HTML

<a href="javascript: ExpandChild('div4');" runat="server"> <img alt="Students" id="imgdiv4" src="images/arrow-right-b.png" /> 
</a> 

JS

function ExpandChild(input) 
{ 
    //somethings are done here 
    LoadStudentData(); 
} 

function LoadStudentData() 
     { 
      $.ajax({ 
       type: "POST", 
       url: 'webmethods.aspx/TestCall', 
       contentType: "application/json; charset=utf-8", 
       data: "{}", 
       dataType: 'json', 
       success: function (data) { 
        alert("ajax called"); 
       }, 
       error: function (result) { 
        alert("An unknown error occurred, please try again: " + result.responseText); 
       } 
      }); 
     } 

В моем файле webmethods.aspx я следующее:

[WebMethod()] 
public static string TestCall() 
{ 
    return "it worked"; 
} 

Я знаю код получает метод LoadStudentData, но я понятия не имею, почему он открывает диалоговое окно проверки подлинности. И страница search.aspx, и страница webmethods.aspx находятся в корне моего проекта

Я использую Visual Studio 2015, и эта проблема возникает в Chrome и Firefox при запуске на моем локальном компьютере. При отладке кода он никогда не попадает в метод TestCall.

Любая помощь, которая может быть использована.

ответ

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