Я использую JQuery & JSON (POST) для вызова webmethod.Однако я могу вызвать только webmethod, расположенный в файле aspx, но не в файле asmx
Ниже приведены примеры кодов
CustomValidate.asmx
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
Public Class CustomValidate
Inherits System.Web.Services.WebService
'ACCESS VIA JSON
<System.Web.Services.WebMethod()> _
Public Shared Function AJAX_Test(ByVal date1) As Boolean
...
Return True
End Function
End Class
Javascript: JQuery JSON
function isDates(source, arguments) {
var isValidDate;
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "CustomValidate.asmx/AJAX_Test",
data: '{date1: "' + arguments.Value + '"}',
dataType: "json",
async: false,
success: function(result) {
isValidDate = result;
},
error: function(httpRequest, textStatus, errorThrown) {
alert("status=" + textStatus + ",error=" + errorThrown);
}
});
arguments.IsValid = isValidDate;
}
Он всегда возвращает неопределенную ошибку JavaScript.Но если я добавлю веб-метод AJAX_Test на страницу aspx и заменим URL-адрес: "CustomValidate.asmx / AJAX_Test" на "mypage.aspx / AJAX_Test".Работает нормально.Есть идеи?