当我调用从数据库中检索数据的Web服务时,我的jquery ajax调用无效

时间:2015-06-18 03:04:48

标签: javascript jquery asp.net ajax c#-4.0

我是第一次使用jquery ajax调用的新工作,我在这里遇到了一个问题,我的Web服务正在运行,但出于某种原因,当我尝试从jquery ajax调用它时,数据无法检索。 / p>

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

我的网络方法是:

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调用是这个(错误最有可能在这里)

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

}

最后是我的HTML

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

基本上我要做的是根据数据库中的数据,应用程序提供拼写错误的建议。

注意:不要注意功能和方法的名称,这只是一个测试。

1 个答案:

答案 0 :(得分:0)

您的服务可能就像这样

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

        }
    });
}