如何解决这个ajax jquery错误?

时间:2016-08-15 05:45:11

标签: javascript jquery asp.net ajax

我想使用ajax jquery从服务器检索字符串。我做了一些代码。但我不知道错误是什么。我跑的时候没有任何价值。这是我的代码

ReportForm.aspx

<html xmlns="http://www.w3.org/1999/xhtml">

    

<script src="js\jquery-1.11.3.js"></script>
<script src="js\jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function ()
    {
        $('#btnEmployeeName').click(function () {
            var empName = $('#txtID').val();

            $.ajax({
                url: 'EmployeeService.asmx/GetStringById',
                data: { name: empName },
                method: 'post',
                dataType: 'xml',
                success:function(data)
                {
                    var jqueryXml = $(data);
                    $('showName').val(jqueryXml.find('name').text());
                },
                error:function(err)
                {
                    alert(err);
                }
            })
        })   
    });

</script>

</head>
<body>
    <form id="form1" runat="server">
    <div>
        <center><h1>Report Form</h1>

        <table class="auto-style1">
            <tr>
                <td><input type="button" value="Click me" id="btnEmployeeName" /></td>
                <td><input type="text" id="txtID" /></td>
            </tr>
            <tr>
                <td><input type="text" id="showName" />&nbsp;</td>
                <td>&nbsp;</td>
            </tr>
        </table>
    </center>
</div>
</form>

EmployeeService.asmx.cs

namespace NibrassSample
{

    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET     AJAX, uncomment the following line. 
     [System.Web.Script.Services.ScriptService]
    public class EmployeeService : System.Web.Services.WebService
    {

        [WebMethod]
        public Employee GetStringById(string name)
        {
            Employee emp = new Employee();
            emp.name = name;
            return emp;
        }
    }
}

Employee.cs

[assembly: OwinStartup(typeof(NibrassSample.Employee))]

namespace NibrassSample
{
    public class Employee
    {
        public string name { get; set; }
    }
}

我是jquery的新手。请帮助我,谢谢。

1 个答案:

答案 0 :(得分:1)

您的AJAX调用和C#[WebMethod]看起来不错但我在您的成功函数中看到您尝试使用返回的值填充文本框但是您没有正确选择它在jQuery中,你这样做:

$('showName').val(jqueryXml.find('name').text());

你应该在showName之前加上字符。在jQuery中,这意味着你要按id选择元素:

 $('#showName').val(jqueryXml.find('name').text());