使用AJAX调用服务器端方法
Calling server side method using AJAX
我试图通过使用AJAX从客户端调用服务器端的函数来测试它。
每次调用AJAX方法时都会出现以下错误:
http://localhost:5958/myaccount/notifications/myaccount/notifications/Default.aspx/method加载资源失败:服务器响应状态为404(未找到)
这是我的AJAX函数:
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()" />
我试图在服务器端调用的函数:
[WebMethod]
protected bool method()
{
return true;
}
正确的做法是什么?
更新
将url更改为:'<%= ResolveUrl("~/default.aspx/method") %>'
,现在我收到500内部服务器错误。
更新2
内部错误是由[HttpPost]属性引起的,我将其更改为[WebMethod],它可以工作。
我认为问题出在您的url中。
使用类似于下面的前导斜杠(/)。
url:"/myaccount/notifications/Default.aspx/method"
您的服务器端调用必须是静态公共调用。https://msdn.microsoft.com/en-us/library/bb398998(v=vs.90).aspx
[WebMethod]
public static bool method()
{
return true;
}
我假设您没有传递任何参数。因此,您可以尝试Data:{}而不是Data:"{}"吗。
相关文章:
- 有没有一种方法可以在服务器端页面加载之前在加载时运行javascript
- 如何从服务器端控制器返回或调用已签名的小程序的方法
- 是否有一种搜索引擎友好的方法可以将服务器端呈现的 HTML 与客户端 MVVM/MVC 框架相结合
- 有没有可能的方法可以在一次ASP按钮单击中同时显示JavaScript和服务器端代码中的消息
- JavaScript 方法或模板字段中的服务器端方法
- SignalR 自定义服务器端方法
- 避免在服务器端路由上使用全局 onBeforeAction 方法
- 服务器端方法未被调用
- 使用string.format,最佳方法和替代方案在服务器端创建javascript函数
- SignalR 2.0 服务器端方法不会被触发
- 如何使用 ajax 调用带有参数(对象)的服务器端方法,其中 url 具有查询参数
- 从嵌套的 jquery 对话框运行服务器端方法
- 有没有一种更快的方法来查找客户端和服务器端的所有图像、音频和视频文件类型
- 调用服务器端从 JavaScript 继承了 C# Web 方法
- 如何将 javascript 变量传递给服务器端方法
- GET() 方法是否安全,以便从服务器端获取安全数据
- 有没有一种方法可以在没有服务器端语言的情况下完成http头请求并获得时间
- 有没有一种方法可以调用某些服务器端代码;新的“;按钮被按下
- 有没有一种方法可以检测'Aw Snap'页面,并向服务器端报告
- 如何从JavaScript(客户端)调用Helper方法(服务器端)