http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 8511|回复: 13

[咨询站长] 求助站长,jquery ajax与后台交互的问题

[复制链接]
发表于 2015-6-23 18:20:27 | 显示全部楼层 |阅读模式
30金钱
这两天我在asp.net中使用jquery ajax 方法去和后台的方法交互,结果测试无法进入后台方法,求站长帮助,谢谢!

前台代码

前台代码

这是前台代码。
QQ截图20150623181811.png
这是后台方法。后台无法进入,这个问题已经困扰我好几天了,我是个小白。点击界面上的button按钮没有反应,然后刷新一下页面,再点击可以进入后台方法,但是返回的值,前台无法用data.d获取到,求站长帮助,万分感谢!



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2015-6-23 18:29:44 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2015-6-24 10:48:00 | 显示全部楼层
站长苏飞 发表于 2015-6-23 18:29
http://www.sufeinet.com/thread-7302-1-1.html

你好,站长,通过你的方法我测试了一下,可以使用,不过不知道为什么项目首次运行的时候数据返回不了,而第二次之后就可以了,如果把项目停止,把asp.net development server 关掉的话,再开启就依然出现那个情况,这是用IE测的,360的极速模式下不可行,谷歌浏览器通过,火狐不打断点测试不进入.ashx方法文件,这是以上测试结果,与我提问发的帖子的问题大致相同,求站长帮忙解决。
回复

使用道具 举报

发表于 2015-6-24 11:33:13 | 显示全部楼层
报的什么错,这方法我一直在用,没有听过那个浏览器不行的。
回复

使用道具 举报

 楼主| 发表于 2015-6-24 12:49:17 | 显示全部楼层
站长苏飞 发表于 2015-6-24 11:33
报的什么错,这方法我一直在用,没有听过那个浏览器不行的。

不知道为什么,我运行第一次的时候 ie上可以进入ashx,但是alert不到返回值,第二次 就可以了。
回复

使用道具 举报

发表于 2015-6-24 12:52:44 | 显示全部楼层
ASOLN 发表于 2015-6-24 12:49
不知道为什么,我运行第一次的时候 ie上可以进入ashx,但是alert不到返回值,第二次 就可以了。

这应该是你第一次加载的时候有问题,或者是写法不对。贴下代码看看
回复

使用道具 举报

 楼主| 发表于 2015-6-24 13:18:25 | 显示全部楼层
站长苏飞 发表于 2015-6-24 12:52
这应该是你第一次加载的时候有问题,或者是写法不对。贴下代码看看

function getitem() {
            var item = {
                action: "getid",
                Name: 'sufei',
                url: "s1.ashx?jsoncallback=?"
            };
            return item;
        }
        $(function () {
            $("#Button1").click(function () {
                var item = getitem();
                try {
                    $.getJSON(item.url, item, function (msg) {
                        if (msg) {
                            var id = msg.id;
                            alert(id);
                        }
                    });
                } catch (e) {
                    alert(e);
                }
            });
        });
--------------------------------------------------------------------
  /// </summary>
    public class s1 : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            // do action
            if (context.Request["action"] != null)
            {
                string action = context.Request["action"].ToString().Trim();
                string jsoncallback = context.Request["jsoncallback"].ToString();
                string result = string.Empty;
                if (action == "getid")
                {
                    string name = context.Request["Name"].ToString();
                    if (name == "sufei")
                    {
                        result = "11001";
                    }
                }
                context.Response.Clear();
                context.Response.Write(jsoncallback + "({id:'" + result + "'})");
                context.Response.End();
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }


//以上是您原来的代码

----------------------------------------------------------------------------------------------------------------------------------------------------------------以下是我原来的代码

//                 var data = $('#txtBizName').val() + "$" + $('#txtContactperson').val() + "$" + $('#txtPhone').val() + "$" + $('#txtRemark').val();
                 //                 $.ajax({
                 //                     type: "post", //要用post方式                 
                 //                     url: "bizcooperation.aspx/NewCooperation", //方法所在页面和方法名
                 //                     contentType: "application/json; charset=gb2312",
                 //                     dataType: "json",
                 //                     data: "{'CooInfo':'" + data + "'}",
                 //                     success: function (data) {
                 //                        alert(data.d); //返回的数据用data.d获取内容
                 //                     },
                 //                     error: function (err) {
                 //                         alert(err);
                 //                     }
                 //                 });


---------------------------------------------------后台

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

            }
        }

        [WebMethod]
        public static string NewCooperation(string CooInfo)
        {
            Model.rc_model.Cooperation Coo = new Model.rc_model.Cooperation();
            CooManage Cm = new CooManage();
            string[] Cinfo = CooInfo.Split(new char[] { '$' });
            Coo.CooID = Utils.GetGuid();
            Coo.Enterprise = Cinfo[0].ToString();
            Coo.ContactName = Cinfo[1].ToString();
            Coo.Phone = Cinfo[2].ToString();
            Coo.CooState = false;
            Coo.CreateTime = DateTime.Now;
            Coo.BizRemark = Cinfo[3].ToString();
            int Result = Cm.AddCoo(Coo);
            return "{'result':'" +  Result.ToString() + "'}";
        }



//谢谢


回复

使用道具 举报

 楼主| 发表于 2015-6-24 13:20:53 | 显示全部楼层
ie8没有问题,不过 谷歌内核 就有点问题了,火狐貌似也不太好使。
回复

使用道具 举报

 楼主| 发表于 2015-6-24 13:24:10 | 显示全部楼层
现在谷歌测试您原来的代码是,隔一次一弹框
回复

使用道具 举报

 楼主| 发表于 2015-6-24 13:29:29 | 显示全部楼层
后台的方法确实是走的,但是不能保证每次点击触发方法后都能把返回值返回到js中并且alert出来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-5-2 16:15

© 2014-2021

快速回复 返回顶部 返回列表