繁体   English   中英

当我调用从数据库检索数据的Web服务时,我的jquery ajax调用不起作用

[英]My jquery ajax call is not working when I call web services which retrieves data from database

我实际上是第一次使用jquery ajax调用,并且我遇到了一个问题,我的Web服务正在运行,但是由于某种原因,当我尝试从jquery ajax调用它时,数据无法检索。

请我整天都在工作,今天晚上我需要完成它。

我的网络方法是这样的:

public Didyoumean SayHello(string search)
    {
        Didyoumean Didyoumean = new Didyoumean();
        string cs = ConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString;
        using(SqlConnection con = new SqlConnection(cs))
        {
            SqlCommand cmd = new SqlCommand ("USP_DidYouMean",con);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter parameter = new SqlParameter("@search",search);
            cmd.Parameters.Add(parameter);
            con.Open();
            SqlDataReader reader = cmd.ExecuteReader();
            while(reader.Read())
            {
                Didyoumean.SearchInput = reader["detail"].ToString();
            }
            reader.Close();
            con.Close();

        }
        return Didyoumean;

    }

我的Didyoumean班级是这样的:

public class Didyoumean
{
    public string SearchInput { get; set; }
}

我的ajax调用是这个(错误很可能在这里)

函数bla(){

var SearchInput = document.getElementById("#locationSearchInput").value;

var DataObject = { search: SearchInput };

$.ajax({
    type: "POST",
    url: "/kiosk/EmailCoupon.asmx/SayHello",
    data: JSON.stringify({dataObject}), 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function (data) {
        $('.tags_select a').html(data.d); 
    },
    error: function () {
        $('.tags_select a').html("<p>no suggestion</p>")
    }
});

}

最后是我的HTML

<input id="Button1" type="button" value="button" onclick="bla()"/>
<div class="tags_select">
    <a href="#"></a>

基本上,我要尝试的操作取决于数据库中的数据,应用程序会为拼写错误提供建议。

注意:不要注意函数和方法的名称,这只是测试。

您的服务可能是这样的

    [System.Web.Script.Services.ScriptService]
    public class WebService1 : System.Web.Services.WebService
    {
        [WebMethod]
        public Didyoumean SayHello(string search)
        {
            Didyoumean didyoumean = new Didyoumean();
            didyoumean.searchInput = "result of " + search;
            return didyoumean;
        }
    }

而你的JavaScript是

    function test() {
    var SearchInput = "test";
    $.ajax({
        type: "POST",
        url: "/WebService1.asmx/SayHello",
         data: JSON.stringify({search:SearchInput}),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
            var didYouMean = data.d;
            alert(didYouMean.searchInput);
        },
        error: function (e) {
            console.log(e);

        }
    });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM