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效率调优经验
Jun 04 Javascript
点击页面其它地方隐藏该div的两种思路
Nov 18 Javascript
原生js获取元素样式的简单方法
Aug 06 Javascript
使用jsonp实现跨域获取数据实例讲解
Dec 25 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
Jan 27 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
Aug 08 Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 Javascript
微信小程序中button去除默认的边框实例代码
Aug 01 Javascript
java和js实现的洗牌小程序
Sep 30 Javascript
JavaScript实现商品评价五星好评
Nov 30 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
Jan 08 Vue.js
JavaScript中的LHS和RHS分析详情
Apr 06 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
SONY ICF-SW55的电路分析
2021/03/02 无线电
php 远程关机操作的代码
2008/12/05 PHP
PHP高自定义性安全验证码代码
2011/11/27 PHP
PHP的文件操作与算法实现的面试题示例
2015/08/10 PHP
Jquery中dialog属性小记
2010/09/03 Javascript
javascript 实现简单的table排序及table操作练习
2012/12/28 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
Java遍历集合方法分析(实现原理、算法性能、适用场合)
2016/04/25 Javascript
AngularJS实现进度条功能示例
2017/07/05 Javascript
BootStrap模态框和select2合用时input无法获取焦点的解决方法
2017/09/01 Javascript
node puppeteer(headless chrome)实现网站登录
2018/05/09 Javascript
vue项目中使用scss的方法步骤
2019/05/16 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
Python list操作用法总结
2015/11/10 Python
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
利用Python操作消息队列RabbitMQ的方法教程
2017/07/19 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
2018/10/29 Python
python自动发邮件总结及实例说明【推荐】
2019/05/31 Python
关于TensorFlow新旧版本函数接口变化详解
2020/02/10 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
物业管理求职自荐信
2013/09/25 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
2014年教师党员公开承诺书
2014/05/28 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
我的未来不是梦演讲稿
2014/09/02 职场文书
歌颂党的演讲稿
2014/09/10 职场文书
市场部经理岗位职责
2015/02/02 职场文书
2016年暑假家长对孩子评语
2015/12/01 职场文书
人民调解协议书
2016/03/21 职场文书
解决Redis启动警告问题
2022/02/24 Redis
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL