为什么JQUERY中AJAX无法调用ASP.NET方法的问题
小弟用jquery做AJAX的时候发现如果是使用$.get传值到后台的一个页面的话那么写在该页面page_load里面的代码都会被执行但是如此做的开销比较大所以就照着网上...
小弟用jquery做AJAX的时候 发现 如果是使用$.get传值到后台的一个页面的话 那么写在该页面page_load里面的代码都会被执行 但是如此做的开销比较大 所以就照着网上的说法写了如下代码调用后台的方法
$("#TBOldPwd").focusout(function() {
$.ajax(
{
url: "ajaxmethod.asmx/checkpwd",
type: "POST",
data: "{ pwd: $('#TBOldPwd').val() }",
dataType:"text",
contentType:"application/text; charset=utf-8",
success: function(data) {
$("#checkresult").text(data);
}
}
)
})
一下是我的c#代码
[WebMethod]
public static string checkpwd(string pwd) {
string username = HttpContext.Current.Session["username"].ToString();
string mypwd;
username = DataCommand.KeyCheck(username);
mypwd = DataCommand.KeyCheck(pwd);
string selectStr = "select * from admin where admin_username='" + username + "' and admin_password='" + mypwd + "'";
if (DataCommand.GetData(selectStr).Rows.Count == 0)
{
return "旧密码错误";
}
return "旧密码正确";
}
所有的都照着网上查到的资料说的做 但是最终还是无法调用后台的方法 不知道为什么 我的开发环境是vs2008+asp.net2.0 有说是因为asp.net2.0的缘故 难道非要升级成3.5? 展开
$("#TBOldPwd").focusout(function() {
$.ajax(
{
url: "ajaxmethod.asmx/checkpwd",
type: "POST",
data: "{ pwd: $('#TBOldPwd').val() }",
dataType:"text",
contentType:"application/text; charset=utf-8",
success: function(data) {
$("#checkresult").text(data);
}
}
)
})
一下是我的c#代码
[WebMethod]
public static string checkpwd(string pwd) {
string username = HttpContext.Current.Session["username"].ToString();
string mypwd;
username = DataCommand.KeyCheck(username);
mypwd = DataCommand.KeyCheck(pwd);
string selectStr = "select * from admin where admin_username='" + username + "' and admin_password='" + mypwd + "'";
if (DataCommand.GetData(selectStr).Rows.Count == 0)
{
return "旧密码错误";
}
return "旧密码正确";
}
所有的都照着网上查到的资料说的做 但是最终还是无法调用后台的方法 不知道为什么 我的开发环境是vs2008+asp.net2.0 有说是因为asp.net2.0的缘故 难道非要升级成3.5? 展开
4个回答
展开全部
你用的可能是.ashx文件,那么你的C#代码中的那个HttpContext不可用。你的用httpHandle的 public void ProcessRequest(HttpContext context)的这个HttpContext。
调试一下,就什么都清楚了
调试一下,就什么都清楚了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我开发的时候开始其他人选择了2.0。后来我自己试验的时候发现2.0里jQuery访问webservers真TMD麻烦。。于是。。改3.5。。问题完美解决
1楼的朋友。。你的那个东西是3.5才有滴。。2.0没有。。
1楼的朋友。。你的那个东西是3.5才有滴。。2.0没有。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
//[System.Web.Script.Services.ScriptService]
在webservice中 请去掉上面的注释
//[System.Web.Script.Services.ScriptService]
在webservice中 请去掉上面的注释
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
webservers 就可以实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询