Jquery+Ajax ASP.Net web 开发问题

octoberss 2016-11-30 02:24:09
初学者,有问题请教。

这个是我之前看的帖子1『http://www.cnblogs.com/insus/archive/2013/01/22/2872329.html』
帖子2:asp.net利用Ajax和Jquery在前台向后台传参数并返回值:http://blog.csdn.net/yf505261213/article/details/8967630
类似的帖子有很多,都是直接调用aspx页面下方法,或者webservice 下方法。


我按照那些例子去做,却无法实现。我的问题:
1-按照帖子1,我运行下来的弹出窗口提示『Undefined』。
2-Jquery获取C#后台返回的string类型值,可以直接识别并alert出来么?就像帖子1所展示的
3-我的需求:实现Jquery调用后台方法并拿到返回值放在前端展示


...全文
229 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
octoberss 2016-12-04
  • 打赏
  • 举报
回复
谢谢各位前辈的热心回答,我在网站找到了解决方案,分享给大家: http://stackoverflow.com/questions/23033614/asp-net-calling-webmethod-with-jquery-ajax-401-unauthorized 我的代码二在执行时候,我监控了浏览器console里的信息,得到的是 {"Message":"Authentication failed.","StackTrace":null,"ExceptionType":"System.InvalidOperationException"} 根据这个错误,我搜索到了上面链接的解决方案 。 谢谢各位了, 未来我还会向各位讨教。
kandao16 2016-12-01
  • 打赏
  • 举报
回复
方式一:后台asmx 中的 HelloWorld 方法返回到客户端的是 xml 格式的数据 方式二:$.ajax 中的 data 后面应该跟着一个 js 对象,而不是 ‘{....}’ 这样被引号包含的字符串吧
X-i-n 2016-11-30
  • 打赏
  • 举报
回复
和引用没有关系,这个都是html的东西,只要引用了jquery就行 把两个项目的前端页面全换成静态页面排除干扰 报错的时候,打开浏览器调试窗口,看一下报错具体详情
octoberss 2016-11-30
  • 打赏
  • 举报
回复
引用 2 楼 hanjun0612 的回复:
你确定你的 WebMethod 属性和 static添加了?
=========== 是的,已经添加了。目前还是无法成功调用
octoberss 2016-11-30
  • 打赏
  • 举报
回复
引用
引用 4 楼 Runnerchin 的回复:
第一个,返回数据类型用dataType: "json",强制指定一下就行了 第二个看上去没问题,要不这样改一下,把
 alert(response.d);
改成
  console.log(response);
然后到浏览器的控制台里去查这个response具体是什么内容
================================ 谢谢你的答复 1-使用你说的,添加数据格式后, 调用失败,弹出调用失败的报错信息 2-这个是我在浏览器里看到的 {"Message":"Authentication failed.","StackTrace":null,"ExceptionType":"System.InvalidOperationException"} === 期待你的答复, 是不是需要引用Json class之类的
X-i-n 2016-11-30
  • 打赏
  • 举报
回复
第一个,返回数据类型用dataType: "json",强制指定一下就行了 第二个看上去没问题,要不这样改一下,把
 alert(response.d);
改成
  console.log(response);
然后到浏览器的控制台里去查这个response具体是什么内容
octoberss 2016-11-30
  • 打赏
  • 举报
回复
上代码: 方式一: Jquery+webservice ///// 报错信息为『object XMLDocument』 aspx: <asp:UpdatePanel> .... <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button2" runat="server" Text="Button" OnClientClick="test()" /> JS : <script> function test() { $.ajax({ type: 'post', url: 'WebService1.asmx/HelloWorld', async: true, success: function (result) { alert(result); }, error: function () { alert('ERROR!'); } }); } </script> WebService : [WebMethod] public string HelloWorld() { return "Hello World"; } 方式二 : Jquery 直接调用页面方法 //////报错信息:『undefined』 aspx: <asp:TextBox ID="TextBoxAccount" runat="server"></asp:TextBox><br /> <input id="btnrReg" type="button" value="注册" onclick="VeryRegAccount()" /> JS: script type="text/javascript"> function VeryRegAccount() { $.ajax({ type: "POST", url: "Default.aspx/VeryUserName", data: '{name: "' + $("#<%= TextBoxAccount.ClientID%>")[0].value + '" }', contentType: "application/json; charset=utf-8", dataType: "json", success: OnSuccess, failure: function (response) { alert(response.d); } }); } function OnSuccess(response) { alert(response.d); } </script> aspx.cs : [System.Web.Services.WebMethod] public static string VeryUserName(string name) { string rtn = "恭喜,此帐号还没有注册,你可以使用。"; if (name == "") rtn = "请填写一个注册帐号。"; if (name == "Insus.NET") rtn = "此用户已经注册,请使用另外帐号。"; return rtn; }
正怒月神 版主 2016-11-30
  • 打赏
  • 举报
回复
你确定你的 WebMethod 属性和 static添加了?
X-i-n 2016-11-30
  • 打赏
  • 举报
回复
上代码 .

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧