如何解决无法从asmx页面asp.net接收到ajax函数的查询结果
我正在我的应用程序中使用Ajax和jQuery。当我返回查询结果时,没有显示该结果。代码如下:
[WebMethod,ScriptMethod]
public void Getusertimelist(string id)
{
List<UserhoursList> employeelist = new List<UserhoursList>();
using (sqlConnection con = new sqlConnection(ConfigurationManager.ConnectionStrings["dbcon"].ConnectionString))
{
con.open();
sqlCommand command12 = new sqlCommand(" SELECT CONVERT(TIME,DATEADD(s,SUM(( DATEPART(hh,Total_time) * 3600 ) + ( DATEPART(mi,Total_time) * 60 ) + DATEPART(ss,Total_time)),0)) From Todaywork Where Id='"+id+"'",con);
string getvalue = command12.ExecuteScalar().ToString();
UserhoursList employee = new UserhoursList();
employee.Total_Time = getvalue;
employeelist.Add(employee);
con.Close();
}
JavaScriptSerializer js = new JavaScriptSerializer();
Context.Response.Write(js.Serialize(employeelist));
//return id;
}
Ajax代码
<script type="text/javascript">
$(document).on("click",".get_time",function () {
var timeid = $(this).data('id');
$.ajax({
url: 'UserTotaltime.asmx/Getusertimelist',method: 'post',data: { id: timeid },success: function (data) {
//alert(data);
},error: function (err) {
}
});
});
$(document).ready(function () {
$(".get_time").click(function () {
$.ajax({
url: "UserTotaltime.asmx/Getusertimelist",dataType: "json",success: function (data) {
alert(data[0].Total_Time);
// var prodetail = document.getElementById('textBox').HTML = 2;
document.getElementById("UserTime").innerHTML = data[0].Total_Time;
prodetail.html(data[0].Total_Time);
},error: function (err) {
}
});
});
});
</script>
它没有显示答案,因为当我删除那个(字符串id)参数时,它可以正常工作。当我使用它时,没有显示出答案。我想完成我的项目,但是这个错误并没有推动我。任何帮助。
解决方法
您的第一个请求看起来不错。但是在您的第二个请求中,我看不到您正在使用jQuery DataTable data
选项。
$(".get_time").click(function () {
$.ajax({
url: "UserTotaltime.asmx/Getusertimelist",dataType: "json",method: 'post',// Where is data: { id: timeid }?
success: function (data) {
alert(data[0].Total_Time);
// var prodetail = document.getElementById('textbox').HTML = 2;
document.getElementById("UserTime").innerHTML = data[0].Total_Time;
prodetail.html(data[0].Total_Time);
},error: function (err) {
}
});
,
如果您更改数据以发送字符串,我认为它会起作用
$.ajax({
url: 'UserTotaltime.asmx/Getusertimelist',data: '{ "id": ' + timeid + '}',success: function (data) {
//alert(data);
},error: function (err) {
}
});
另一种选择是做类似的事情
var dat = {}
dat.id = timeid
$.ajax({
url: 'UserTotaltime.asmx/Getusertimelist',data: JSON.stringify(dat),error: function (err) {
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。