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


Posted in Javascript onSeptember 19, 2010

首先贴上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 < msg.d.length; i++) { 
// $('#myList').append('<li>' + msg.d[i] + '</li>'); 
// } 
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页,写上方法:
/// <summary> 
/// Datatable转换为Json 
/// </summary> 
/// <param name="table">Datatable对象</param> 
/// <returns>Json字符串</returns> 
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数据,知道的给解答下……
Javascript 相关文章推荐
XHTML下,JS浮动代码失效的问题
Nov 12 Javascript
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
Nov 11 Javascript
自己动手制作jquery插件之自动添加删除行的实现
Oct 13 Javascript
js中一维数组和二位数组中的几个问题示例说明
Jul 17 Javascript
Jquery api 速查表分享
Jan 12 Javascript
基于JavaScript如何制作遮罩层对话框
Jan 26 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
Aug 10 Javascript
DropDownList控件绑定数据源的三种方法
Dec 24 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
Jan 19 Javascript
从0到1构建vueSSR项目之node以及vue-cli3的配置
Mar 07 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
Apr 11 Javascript
vue draggable resizable gorkys与v-chart使用与总结
Sep 05 Javascript
jquery异步循环获取功能实现代码
Sep 19 #Javascript
JavaScript随机排序(随即出牌)
Sep 17 #Javascript
js下通过getList函数实现分页效果的代码
Sep 17 #Javascript
前端开发的开始---基于面向对象的Ajax类
Sep 17 #Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
Sep 17 #Javascript
js下用eval生成JSON对象
Sep 17 #Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
Sep 16 #Javascript
You might like
php创建基本身份认证站点的方法详解
2013/06/08 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
Laravel 6.2 中添加了可调用容器对象的方法
2019/10/22 PHP
用jquery ajax获取网站Alexa排名的代码
2009/12/12 Javascript
jQuery 学习第六课 实现一个Ajax的TreeView
2010/05/17 Javascript
javascript最常用与实用的创建类的代码
2010/08/12 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
jQuery对象的length属性用法实例
2014/12/27 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
Kindeditor单独调用单图上传增加预览功能的实例
2017/07/31 Javascript
实例教学如何写vue插件
2017/11/30 Javascript
在vue组件中使用axios的方法
2018/03/16 Javascript
解决Mac安装thrift因bison报错的问题
2018/05/17 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
2018/12/03 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
JS深入学习之数组对象排序操作示例
2020/05/01 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
2019/03/11 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
python pip如何手动安装二进制包
2020/09/30 Python
用60行代码实现Python自动抢微信红包
2021/02/04 Python
利用CSS3实现文本框的清除按钮相关的一些效果
2015/06/23 HTML / CSS
The Beach People美国:澳洲海滨奢华品牌
2018/07/05 全球购物
巴西24小时在线药房:Droga Raia
2020/05/12 全球购物
Ref与out有什么不同
2012/11/24 面试题
师范学院毕业生求职信范文
2013/12/26 职场文书
期末学生评语大全
2014/04/24 职场文书
社区服务活动小结
2014/07/08 职场文书
政协调研汇报材料
2014/08/15 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书
计划生育个人总结
2015/03/02 职场文书
js不常见操作运算符总结
2021/11/20 Javascript
DE1103使用报告
2022/04/05 无线电