当前位置:  开发笔记 > 后端 > 正文

Jquery AJAX与ASP.NET WebMethod返回整页

如何解决《JqueryAJAX与ASP.NETWebMethod返回整页》经验,为你挑选了2个好方法。

我正在做一些简单的测试(准备一个更大的项目)来使用JQuery AJAX调用ASP.NET WebMethod.在我的示例中,我的WebMethod返回一个简单的字符串.但是,当我尝试使用JQuery调用它时,我会返回整个HTML页面内容,而不仅仅是我的字符串.我错过了什么?

客户端 :

$(document).ready(function ready() {
        $("#MyButton").click(function clicked(e) {
            $.post("Default.aspx/TestMethod",
                {name:"Bob"},
                function(msg) {
                    alert("Data Recieved: " + msg);
                },
                "html"
            );
        });
    });

服务器端:

using System;
using System.Web.Services;

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

        }

        [WebMethod]
        public static string TestMethod(string name)
        {
            return "The value submitted was " + name;
        }
    }
}

JoshBerke.. 20

看看这个链接.我使用了他的一些其他帖子来成功调用WCF服务.请务必查看相关文章:

http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/

仔细阅读文章,但基本上:

  $("#Result").click(function() {
    $.ajax({
      type: "POST",
      url: "Default.aspx/GetDate",
      data: "{}",
      contentType: "application/json; charset=utf-8",
      dataType: "json",
      success: function(msg) {
        $("#Result").text(msg.d);
      }
    });
});

确保您的web.config包含与此类似的内容,具体取决于您的版本:` (4认同)

关键部分是contentType行:“ application / json; charset = utf-8”,如果没有该行,它将返回HTML。 (2认同)


Dana.. 9

我想我对JQuery的$ .post命令中的"type"参数感到困惑.在与一些人交谈之后,似乎调用WebMethod的返回类型必须是"json".我试图使用"html".一旦我将其改为"json",然后一切正常.显然,用[WebMethod]修饰的方法只返回JSON,这就是我的挂机所在.

谢谢你们的回复.



1> JoshBerke..:

看看这个链接.我使用了他的一些其他帖子来成功调用WCF服务.请务必查看相关文章:

http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/

仔细阅读文章,但基本上:

  $("#Result").click(function() {
    $.ajax({
      type: "POST",
      url: "Default.aspx/GetDate",
      data: "{}",
      contentType: "application/json; charset=utf-8",
      dataType: "json",
      success: function(msg) {
        $("#Result").text(msg.d);
      }
    });
});


确保您的web.config包含与此类似的内容,具体取决于您的版本:`
关键部分是contentType行:“ application / json; charset = utf-8”,如果没有该行,它将返回HTML。

2> Dana..:

我想我对JQuery的$ .post命令中的"type"参数感到困惑.在与一些人交谈之后,似乎调用WebMethod的返回类型必须是"json".我试图使用"html".一旦我将其改为"json",然后一切正常.显然,用[WebMethod]修饰的方法只返回JSON,这就是我的挂机所在.

谢谢你们的回复.

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有