【发布时间】:2015-06-18 03:04:47
【问题描述】:
事实上,我是第一次使用 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>
基本上我要做的是根据我数据库中的数据,应用程序会给出拼写错误的建议。
注意:不要注意函数和方法的名称这只是一个测试。
【问题讨论】:
-
究竟是什么不工作?您是否收到错误消息?调试时会发生什么?
-
您是否在方法中添加了 WebMethod 属性?
-
你的 .asmx 类有ScriptServiceAttribute吗?
-
是的,它确实具有该属性,Web 服务实际上正在工作(我测试过) 问题出在 ajax 调用上,插入参数时它不会从 webmethod 检索数据。
-
JSON.stringify() 中的大括号是错字吗?
标签: javascript jquery asp.net ajax c#-4.0