2
我正在使用JQuery & JSON(POST)來調用webmethod。但是我只能撥打的WebMethod位於aspx文件,但不是在ASMX文件JSON可以調用.aspx文件中的方法,但不能在.asmx(ASP.NET Web服務)文件中調用方法
下面是示例代碼
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 webmethod放在aspx頁面中,並將url:「CustomValidate.asmx/AJAX_Test」替換爲「mypage.aspx/AJAX_Test」。它工作正常。任何想法?
很好的解釋。我現在很清楚。謝謝 – Alfred 2010-07-07 12:18:52