C# Asp.net Webform jquery ajax请求不起作用

C# Asp.net Webform jquery ajax请求不起作用,c#,jquery,asp.net,ajax,C#,Jquery,Asp.net,Ajax,我正在为我的办公室创建一个医院ERP项目。我已经添加了一些功能。在这段时间里,我需要jqueryajax请求我的项目。我正在尝试更多,但我不是一个成功的这个网络表单。所以我需要专家的帮助。 我的代码无法运行asp.net webform jquery ajax请求 这是我的密码 [System.Web.Services.WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public Employee GetByEmpl

我正在为我的办公室创建一个医院ERP项目。我已经添加了一些功能。在这段时间里,我需要jqueryajax请求我的项目。我正在尝试更多,但我不是一个成功的这个网络表单。所以我需要专家的帮助。 我的代码无法运行asp.net webform jquery ajax请求

这是我的密码

[System.Web.Services.WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public Employee GetByEmployeeId(int Id)
{
    Employee employee = new Employee();
    return employee;
}

<script src="Scripts/jquery-2.2.4.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $('#saveButton').click(function () {
            debugger;
            $.ajax({
                type: 'POST',
                url: 'Test.aspx/GetByEmployeeId',
                data: '{Id: ' + 1 + '}',
                success: function (respons) {
                    debugger;
                    alert('ok');
                },
                error: function () {
                    alert('fail')
                }
            })
        })
    })
</script>


  <div class="form-group">
    <asp:Label runat="server" For="nametextBox">Name:</asp:Label>
    <asp:TextBox runat="server" ID="nametextBox" CssClass="form-control"> 
 </asp:TextBox>
</div>

<div class="form-group">
    <button type="submit" class="btn btn-primary" id="saveButton">Save</button>
</div>
[System.Web.Services.WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
公共雇员GetByEmployeeId(内部Id)
{
员工=新员工();
返回员工;
}
$(文档).ready(函数(){
$(“#保存按钮”)。单击(函数(){
调试器;
$.ajax({
键入:“POST”,
url:'Test.aspx/GetByEmployeeId',
数据:{Id:'+1+'}',
成功:功能(响应){
调试器;
警报(“正常”);
},
错误:函数(){
警报('失败')
}
})
})
})
姓名:
拯救

我正在尝试这一点,但不起作用

在web服务中使用静态关键字

public static Employee GetByEmployeeId(int Id){
Employee employee = new Employee();
return employee;}

在web服务中使用静态关键字

public static Employee GetByEmployeeId(int Id){
Employee employee = new Employee();
return employee;}

在调试器之后使用此选项,然后测试服务返回的内容,以及您正在传递的id=1上的非任何员工。这就是它返回null或error的原因。
var res=JSON.stringify(响应);

var obj=JSON.parse(res)

在调试器之后使用此选项,然后测试服务返回的内容以及您正在传递的id=1上的非任何员工。这就是它返回null或error的原因。
var res=JSON.stringify(响应);

var obj=JSON.parse(res)

首先,将方法设置为静态,如下所示:

public static Employee GetByEmployeeId(int Id)
要使用ajax调用方法,必须使该方法成为静态的,这是必须的

然后将按钮类型从
提交
更改为
按钮
。 第二,使用:

$('#saveButton').on('click', function () {
而不是:

$('#saveButton').click(function () {

首先,将您的方法设置为静态,如下所示:

public static Employee GetByEmployeeId(int Id)
要使用ajax调用方法,必须使该方法成为静态的,这是必须的

然后将按钮类型从
提交
更改为
按钮
。 第二,使用:

$('#saveButton').on('click', function () {
而不是:

$('#saveButton').click(function () {

它在哪些方面不适用于您?是的,它不适用于make
GetByEmployeeId
as
static
。阅读为什么
WebMethod
被标记为static我与@Izzy有冲突。将webmethod设置为静态并将所需字段作为参数传递。在返回对象employee之前,您还必须序列化它。它以何种方式对您不起作用?是的,它不起作用Make
GetByEmployeeId
as
static
。阅读为什么
WebMethod
被标记为static我与@Izzy有冲突。将webmethod设置为静态,并将所需字段作为参数传递。在返回对象employee之前,还必须序列化该对象。使用静态,此jquery警报消息显示ok,但此cs文件方法未命中使用静态,此jquery警报消息显示ok,但此cs文件方法未命中