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 相关文章推荐
IE6下JS动态设置图片src地址问题
Jan 08 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
Aug 22 Javascript
JS简单实现tab切换效果的多窗口显示功能
Sep 07 Javascript
jQuery validata插件实现方法
Jun 25 jQuery
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
Sep 14 Javascript
深入理解Vue2.x的虚拟DOM diff原理
Sep 27 Javascript
认识jQuery的Promise的具体使用方法
Oct 10 jQuery
JS在if中的强制类型转换方式
Jul 15 Javascript
layui 给数据表格加序号的方法
Aug 20 Javascript
js中int和string数据类型互相转化实例
Jan 16 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
May 05 Javascript
React组件对子组件children进行加强的方法
Jun 23 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 手机归属地查询 api
2010/02/08 PHP
PHP中利用substr_replace将指定两位置之间的字符替换为*号
2011/01/27 PHP
php提高网站效率的技巧
2015/09/29 PHP
php的4种常用运行方式详解
2016/12/22 PHP
常规表格多表头查询示例
2014/02/21 Javascript
Javascript优化技巧之短路表达式详细介绍
2015/03/27 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
angular.fromJson与toJson方法用法示例
2017/05/17 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
2017/08/16 Javascript
使用canvas进行图像编辑的实例
2017/08/29 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
2018/12/05 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
2019/08/23 Javascript
angular中的post请求处理示例详解
2020/06/30 Javascript
Python实现定时精度可调节的定时器
2018/04/15 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
详解Python字典小结
2018/10/20 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
2020/02/28 Python
使用keras实现非线性回归(两种加激活函数的方式)
2020/07/05 Python
用css3实现当鼠标移进去时当前亮其他变灰效果
2014/04/08 HTML / CSS
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
金融专业推荐信
2013/11/14 职场文书
经理秘书找工作求职信
2013/12/19 职场文书
公司面试感谢信
2014/02/01 职场文书
母亲节感恩寄语
2014/02/21 职场文书
元旦文艺汇演主持词
2014/03/26 职场文书
2014年化妆品销售工作总结
2014/12/01 职场文书
门市房租房协议书
2014/12/04 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
学校端午节活动总结
2015/02/11 职场文书
公司财务管理制度
2015/08/04 职场文书
以下牛机,你有几个
2022/04/05 无线电