简体   繁体   中英

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

I am new working with jquery ajax calls in fact my first time and, I am running into a issue here my web service is working but for some reason when I try to call it from jquery ajax the data is not retrieve.

Please I've been working the whole day on this and I need to finish it tonight.

My web method is this :

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;

    }

my Didyoumean class is this:

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

my ajax call is this (the error is most likely to be here)

function 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>")
    }
});

}

and finally my html

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

Basically what I am trying to do is depending on the data in my database the application give suggestions for spelling errors.

note: do not pay attention to the name of the functions and methods this is just a test.

Your service might be like this

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

and your javascript is

    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);

        }
    });
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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