Javascript 当我调用从数据库检索数据的web服务时,我的jQueryAjax调用不起作用
我是第一次使用jqueryajax调用的新手,在这里我遇到了一个问题,我的web服务正在工作,但由于某种原因,当我尝试从jqueryajax调用它时,数据无法检索 拜托,我一整天都在做这件事,今晚我得把它做完 我的web方法是:Javascript 当我调用从数据库检索数据的web服务时,我的jQueryAjax调用不起作用,javascript,jquery,asp.net,ajax,c#-4.0,Javascript,Jquery,Asp.net,Ajax,C# 4.0,我是第一次使用jqueryajax调用的新手,在这里我遇到了一个问题,我的web服务正在工作,但由于某种原因,当我尝试从jqueryajax调用它时,数据无法检索 拜托,我一整天都在做这件事,今晚我得把它做完 我的web方法是: public Didyoumean SayHello(string search) { Didyoumean Didyoumean = new Didyoumean(); string cs = ConfigurationMana
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;
}
我的意思是这门课:
public class Didyoumean
{
public string SearchInput { get; set; }
}
我的ajax调用是这样的(错误很可能在这里)
函数bla(){
var SearchInput=document.getElementById(“#locationSearchInput”).value;
var DataObject={search:SearchInput};
$.ajax({
类型:“POST”,
url:“/kiosk/EmailCoupon.asmx/SayHello”,
数据:JSON.stringify({dataObject}),
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(数据){
$('.tags_select a').html(data.d);
},
错误:函数(){
$('.tags_select a').html(“无建议””)
}
});
}
最后是我的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);
}
});
}
到底是什么不起作用?你收到错误了吗?调试时会发生什么?您是否在方法中添加了WebMethod属性?您的.asmx类是否具有该属性?是的,它确实具有该属性,web服务实际上正在工作(我测试了它)。问题在于ajax调用,插入参数时它不会从WebMethod检索数据。是JSON.stringify()中的花括号吗打字错误?
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);
}
});
}