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 03 Javascript
JavaScript CSS修改学习第三章 修改样式表
Feb 19 Javascript
javascript 获取页面的高度及滚动条的位置的代码
May 06 Javascript
某人初学javascript的时候写的学习笔记
Dec 30 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
Dec 16 Javascript
改变checkbox默认选中状态及取值的实现代码
May 26 Javascript
微信小程序  简单实例(阅读器)的实例开发
Sep 29 Javascript
js实现适配不同的屏幕大小
Apr 10 Javascript
JavaScript阻止表单提交方法(附代码)
Aug 15 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
Aug 31 Javascript
基于Koa2写个脚手架模拟接口服务的方法
Nov 27 Javascript
js实现炫酷光感效果
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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
基于jQuery的日期选择控件
2009/10/27 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
2014/09/01 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
简单实现jquery焦点图
2016/12/12 Javascript
微信小程序 实现动态显示和隐藏某个控件
2017/04/27 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
JavaScript中break、continue和return的用法区别实例分析
2020/03/02 Javascript
[01:05:29]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第二场 1月24日
2021/03/11 DOTA
Python对字符串实现去重操作的方法示例
2017/08/11 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
python爬取指定微信公众号文章
2018/12/20 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
解决Python数据可视化中文部分显示方块问题
2020/05/16 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
BONIA波尼亚新加坡官网:皮革手袋,鞋类和配件
2016/08/25 全球购物
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
学生发电厂实习自我鉴定
2013/09/22 职场文书
应届生自我鉴定
2013/12/11 职场文书
文明家庭先进事迹材料
2014/05/14 职场文书
大学生作弊检讨书
2014/09/11 职场文书
购房公证委托书(2014版)
2014/09/12 职场文书
党员民主评议总结
2014/10/20 职场文书
教师节简报
2015/07/20 职场文书
Python3.10的一些新特性原理分析
2021/09/15 Python
python如何为list实现find方法
2022/05/30 Python
pandas中pd.groupby()的用法详解
2022/06/16 Python