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 相关文章推荐
Flash+XML滚动新闻代码 无图片 附源码下载
Nov 22 Javascript
基于Javascript实现的不重复ID的生成器
Dec 25 Javascript
基于ajax与msmq技术的消息推送功能实现代码
Dec 26 Javascript
vue使用Axios做ajax请求详解
Jun 07 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
Dec 14 Javascript
angularjs $http调用接口的方式详解
Aug 13 Javascript
Node.js搭建WEB服务器的示例代码
Aug 15 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
May 15 Javascript
基于iview的router常用控制方式
May 30 Javascript
实用的Vue开发技巧
May 30 Javascript
在VUE中实现文件下载并判断状态的方法
Nov 08 Javascript
Javascript的promise,async和await的区别详解
Mar 24 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在字符串中查找指定字符串并删除的代码
2008/10/02 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
2012/08/31 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
2015/08/27 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
手机端网页点击链接触发自动拨打或保存电话的示例代码
2014/08/15 Javascript
js通过location.search来获取页面传来的参数
2014/09/11 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
js实现图片无缝滚动特效
2020/03/19 Javascript
javascript基本语法
2016/05/31 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
2017/02/22 Javascript
使用node.js搭建服务器
2017/05/20 Javascript
Vue中定义全局变量与常量的各种方式详解
2017/08/23 Javascript
vue监听scroll的坑的解决方法
2017/09/07 Javascript
js+html5生成自动排列对话框实例
2017/10/09 Javascript
详解React+Koa实现服务端渲染(SSR)
2018/05/23 Javascript
mac上配置Android环境变量的方法
2018/07/08 Javascript
jQuery实现弹出层效果
2019/12/10 jQuery
JS数据类型判断的几种常用方法
2020/07/07 Javascript
python编写朴素贝叶斯用于文本分类
2017/12/21 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
Python实现的爬取小说爬虫功能示例
2019/03/30 Python
python算的上脚本语言吗
2020/06/22 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
使用豆瓣源来安装python中的第三方库方法
2021/01/26 Python
小学生安全保证书
2014/02/01 职场文书
企业三严三实学习心得体会
2014/10/13 职场文书
中标通知书格式
2015/04/17 职场文书
观看焦裕禄观后感
2015/06/09 职场文书
雷锋的观后感
2015/06/10 职场文书
三八节祝酒词
2015/08/11 职场文书
大学生社会服务心得体会
2016/01/22 职场文书
如何用python插入独创性声明
2021/03/31 Python