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 相关文章推荐
javascript学习笔记(十二) RegExp类型介绍
Jun 20 Javascript
运算符&amp;&amp;的三个不同层次
Apr 07 Javascript
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
May 27 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
Dec 27 Javascript
jquery对象和javascript对象即DOM对象相互转换
Aug 07 Javascript
JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
Nov 03 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
Mar 04 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
Apr 21 Javascript
浅谈node.js中async异步编程
Oct 22 Javascript
JQuery日历插件My97DatePicker日期范围限制
Jan 20 Javascript
5分钟学会Vue动画效果(小结)
Jul 21 Javascript
浅析JS中回调函数及用法
Jul 25 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
?生?D片??C字串
2006/12/06 PHP
jQuery开发者都需要知道的5个小技巧
2010/01/08 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
jQuery中:radio选择器用法实例
2015/01/03 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
2016/05/25 Javascript
AngularJS基础 ng-selected 指令简单示例
2016/08/03 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
微信小程序中显示html格式内容的方法
2017/04/25 Javascript
bootstrap手风琴折叠示例代码分享
2017/05/22 Javascript
深入理解react-router@4.0 使用和源码解析
2017/05/23 Javascript
BootStrap实现文件上传并带有进度条效果
2017/09/11 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
Python实现单词拼写检查
2015/04/25 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
Python并发编程协程(Coroutine)之Gevent详解
2017/12/27 Python
Python编程argparse入门浅析
2018/02/07 Python
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
python绘制已知点的坐标的直线实例
2019/07/04 Python
Python 微信爬虫完整实例【单线程与多线程】
2019/07/06 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
Python中的特殊方法以及应用详解
2020/09/20 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
SQL语言面试题
2013/08/27 面试题
硅酸盐工业控制专业应届生求职信
2013/11/02 职场文书
幼教求职信
2014/03/12 职场文书
创建无烟单位实施方案
2014/03/29 职场文书
2014年五四青年节活动策划书
2014/04/22 职场文书
优秀班集体先进事迹材料
2014/05/28 职场文书
啦啦队口号大全
2014/06/16 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
少先队中队工作总结2015
2015/07/23 职场文书