Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用AJAX调用服务器端方法_Javascript_C#_Jquery_Asp.net_Ajax - Fatal编程技术网

Javascript 使用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: "{}",

我试图通过使用AJAX从客户端调用服务器端的函数来测试它

每次调用AJAX方法时都会出现此错误:

加载资源失败:服务器响应状态为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()" />
正确的做法是什么

更新

将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;
}