Javascript 使用AJAX调用服务器端方法
我试图通过使用AJAX从客户端调用服务器端的函数来测试它 每次调用AJAX方法时都会出现此错误: 加载资源失败:服务器响应状态为404(未找到) 以下是我的AJAX函数:Javascript 使用AJAX调用服务器端方法,javascript,c#,jquery,asp.net,ajax,Javascript,C#,Jquery,Asp.net,Ajax,我试图通过使用AJAX从客户端调用服务器端的函数来测试它 每次调用AJAX方法时都会出现此错误: 加载资源失败:服务器响应状态为404(未找到) 以下是我的AJAX函数: function ShowCurrentTime() { $.ajax({ type: "POST", url: "myaccount/notifications/Default.aspx/method", data: "{}",
function ShowCurrentTime() {
$.ajax({
type: "POST",
url: "myaccount/notifications/Default.aspx/method",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response.d);
}
});
}
function OnSuccess(response) {
alert(response.d);
}
HTML控件:
<input id="btnGetTime" type="button" value="Show Current Time"
onclick="ShowCurrentTime()" />
正确的做法是什么
更新
将url更改为:”
,现在我收到500个内部服务器错误
更新2
内部错误是由于[HttpPost]属性引起的,我将该属性更改为[WebMethod],它可以正常工作。我认为问题出在您的url中 使用一个前导斜杠(/),如下所示
url:"/myaccount/notifications/Default.aspx/method"
服务器端调用必须是静态公共调用。
我假设您没有传递任何参数。因此,您可以尝试使用数据:{}而不是数据:{}.看看这个问题的公认答案:尝试按照目标WebMethod的方式创建URL,而不是硬编码it@IanGilroy将url更改为:现在我得到以下错误:未捕获的语法错误:提供给RegExp构造函数“notifications”的标志无效可能您可以引用另一个链接,如这个:好的,我有一个前导斜杠。我现在收到500(内部服务器错误)请尝试将您的url设置为“Default.aspx/method”
url:"/myaccount/notifications/Default.aspx/method"
[WebMethod]
public static bool method()
{
return true;
}