热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

asp.net下使用jquery的ajax+WebService+json实现无刷新取后台值的实现代码

asp.net下使用jquery的ajax+WebService+json实现无刷新取后台值的实现代码,比页面刷新更好,用户体验更好,需要的朋友可以参考下。
首先贴上Jquery的ajax:
代码如下:

$.ajax({
url: 'ws_Ajax.asmx/BindDictByUpper',
type: 'POST',
contentType: 'application/json;charset=utf-8',
dataType: 'json',
data: '{ PpareId:"' + varlue + '"}',
success: function (data) {
var dataObj = eval("(" + data + ")");
// $('#myList').html('');
// for (var i = 0; i // $('#myList').append('
  • ' + msg.d[i] + '
  • ');
    // }
    alert(dataObj);
    $.each({ name: "John", lang: "JS" }, function (i, n) {
    alert("Name: " + i + ", Value: " + n);
    });
    $.each(dataObj, function (idx, item) {
    if (idx == 0) {
    return true; //同countinue,返回false同break
    }
    alert("name:" + item['name'] + ",value:" + item['value']);
    });
    },
    //data: '{query:"' + $('#editQuery').val() + '"}',
    processData: false
    });

    好,前台写好,建一个webservice页,写上方法:
    代码如下:

    ///
    /// Datatable转换为Json
    ///

    /// Datatable对象
    /// Json字符串
    public static string ToJson(DataTable Adt)
    {
    StringBuilder jsOnString= new StringBuilder();
    jsonString.Append("[");
    foreach (DataRow pdr in Adt.Rows)
    {
    jsonString.Append("{");
    jsonString.AppendFormat("name:\"{0}\",value:\"{1}\"", pdr["字典内容"].ToString(), pdr["序号"].ToString());
    jsonString.Append("},");
    // jsonString.AppendFormat("{name:'{0}',value:'{1}'},", pdr["字典内容"].ToString(), pdr["序号"].ToString());
    }
    jsonString.Remove(jsonString.Length - 1, 1);
    jsonString.Append("]");
    return jsonString.ToString();
    }

    然后尝试着运行,这是出问题列,无论怎样运行都不能调到后台方法:
    最后在网上查列好久
    才发现在新建的webservice页少了一句关键的话:

    代码如下:

    [System.Web.Script.Services.ScriptService]


    在类前面加上这句话就可以了
    加上以后再运行,好,可以调到后台了
    后台的数据也发送到前台
    但又出现问题列,发过来的数据不能以解析出来json数据
    按网上说的,只要把ajax中的dataType设置为json就行了,但是实际上不行,然后在网上查了下:
    1、对于服务器返回的JSON字符串,如果jquery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次
    2.对于服务器返回的JSON字符串,如果jquery异步请求将type(一般为这个配置属性)设为“json”,或者利用$.getJSON()方法获得服务器返回,那么就不需要eval()方法了,因为这时候得到的结果已经是json对象了,只需直接调用该对象即可,这里以$.getJSON方法为例说明数据处理方法
    但是我把他的dataType设置为json,应该直接可以用le?
    于是我把传回来的数据放在eval()方法里面处理了下,再调用就可以le?
    这样前台调出来的数据就可以直接按你需要的方式处理了。
    我这里还又一个疑问:
    我用这种方式取数为什么查不出来数据(我对json不是很熟,第一次用):
    代码如下:

    $.each(data.root,function(idx,item){
    if(idx==0){
    return true;//同countinue,返回false同break
    }
    alert("name:"+item.name+",value:"+item.value);
    });
    });

    网上看的这样方式页可以调用json数据,知道的给解答下……
    推荐阅读
    • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
    • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
    • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
    • 本文详细介绍了在企业级项目中如何优化 Webpack 配置,特别是在 React 移动端项目中的最佳实践。涵盖资源压缩、代码分割、构建范围缩小、缓存机制以及性能优化等多个方面。 ... [详细]
    • 在现代Web应用中,当用户滚动到页面底部时,自动加载更多内容的功能变得越来越普遍。这种无刷新加载技术不仅提升了用户体验,还优化了页面性能。本文将探讨如何实现这一功能,并介绍一些实际应用案例。 ... [详细]
    • 探讨了如何解决Ajax请求响应时间过长的问题。本文分析了一个从服务器获取少量数据的Ajax请求,尽管服务器已经对JSON响应进行了缓存,但实际响应时间仍然不稳定。 ... [详细]
    • 在PHP后端开发中遇到一个难题:通过第三方类文件发送短信功能返回的JSON字符串无法解析。本文将探讨可能的原因并提供解决方案。 ... [详细]
    • 使用JS、HTML5和C3创建自定义弹出窗口
      本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
    • 当unique验证运到图片上传时
      2019独角兽企业重金招聘Python工程师标准model:public$imageFile;publicfunctionrules(){return[[[na ... [详细]
    • 本文详细介绍了如何利用Go语言和WebSockets技术构建一个高效的实时聊天系统。随着网络应用的日益复杂化,实时交互成为了提升用户体验的关键要素之一。通过本指南,开发者可以学习到最新的技术和最佳实践。 ... [详细]
    • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
    • 理解文档对象模型(DOM)
      本文介绍了文档对象模型(DOM)的基本概念,包括其作为HTML文档的节点树结构,以及如何通过JavaScript操作DOM来实现网页的动态交互。 ... [详细]
    • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
    • 本文探讨了如何通过WebBrowser控件在用户点击输入框时自动显示图片验证码。该过程可能涉及JavaScript事件的触发与响应。 ... [详细]
    • 深入解析ES6至ES8的新特性与应用
      本文详细介绍了自2015年发布的ECMAScript 6.0(简称ES6)以来,JavaScript语言的多项重要更新,旨在帮助开发者更好地理解和利用这些新特性进行复杂应用的开发。 ... [详细]
    author-avatar
    tianziqizhi
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有