请教使用WebMethod特性直接ajax使用aspx.cs的内部方法失败的原因,以及正确姿势

gundamace 2019-02-28 04:24:52
各位好:
我在学习使用asp.net的[WebMethod]特性的直接ajax取得后台方法返回数据的例子(环境是4.6)
代码如图

namespace WebApplication2.TestWebMethod
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
[WebMethod]
public static string TestWebMethod01()
{
return "Hello Ajax";
//return JsonConvert.SerializeObject(new
//{ Success = true, Data = "hello", Msg = "获取成功" });
}


}


}





前台
    <script type="text/javascript">
$(document).ready(function () {

$("#but01").click(function () {
$.ajax({
type: "post",
url: "WebForm2.aspx/TestWebMethod01",
contentType: "application/json",
data: "{}",
dataType: "json",
success: function (data) {
alert(data.d+" +js+");
},
error: function (err) {
alert("webForm方法错误!");
}

});
});

});
</script>


执行结果如图,好像是data.d=undefined



请问哪里有问题呢,按照例子应该弹窗“hello ajax才对”

请大家指导一下
...全文
239 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gundamace 2019-03-01
  • 打赏
  • 举报
回复
已查到解决方案 在你App_Start文件夹,您RouteConfig内.... 注释掉以下行或改变它的RedirectMode:
// settings.AutoRedirectMode = RedirectMode.Permanent;
 
原帖http://www.it1352.com/59318.html
楠小南 2019-02-28
  • 打赏
  • 举报
回复
看看http请求上下行,你就一个alert 能看到啥
gundamace 2019-02-28
  • 打赏
  • 举报
回复
引用 3 楼 刘才鬼 的回复:
data.d => data data就是一个字符串了 没有d 所以会提示undefined

进行转换之后是身份验证失败……
看来越弄越复杂了
gundamace 2019-02-28
  • 打赏
  • 举报
回复
引用 1 楼 刘才鬼 的回复:
data.d => data data就是一个字符串了 没有d 所以会提示undefined

啊,试了一下,现在返回是Object object
求姿势,是不是直接Eval?
极客诗人 2019-02-28
  • 打赏
  • 举报
回复
data.d => data data就是一个字符串了 没有d 所以会提示undefined
csdnFUCKINGSUCKS 2019-02-28
  • 打赏
  • 举报
回复
用你的代码试了下没问题,你在浏览器里看下有没有请求到还有返回的数据对不对。
  • 打赏
  • 举报
回复
没必要学这个了,现在都core年代了,你好歹学mvc,就算webform,你也应该学ashx

62,074

社区成员

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

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

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

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