Я пытаюсь вызвать 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.
Любая помощь, которая может быть использована.