java js webservice_java Web技术探路:js Ajax调用WebService

StuList = new List();

for (int i = 0; i < 10; i++)

{

Student s = new Student();

s.Sid = i + 1;

s.Name = "Tom"+s.Sid;

s.Sex = "男";

s.Age = i + 1;

StuList.Add(s);

}

return StuList;

}

}

}

注意:我们分别看一下这几个方法的签名,这很重要,因为方法签名决定了你调用必须遵守的规则,本文中我们用的是post方法,所以只给出post的方法签名。

1.HelloWebService

说明:请求的页面的地址: /MyWebService.asmx/HelloWebService;主机地址为:192.168.0.194;端口号:如果不是80端口,必须给出。

调用该服务的完整路径为:http://192.168.0.194:85/MyWebService.asmx/HelloWebService 。(具体情况,具体分析)

2.HelloSomeBody

说明:请求的页面的地址: /MyWebService.asmx/HelloSomeBody;主机地址为:192.168.0.194;端口号:如果不是80端口,必须给出。

“name=string”说明,请求该服务时,需要提供参数。

调用该服务的完整路径为:http://192.168.0.194:85/MyWebService.asmx/HelloSomeBody 。(具体情况,具体分析)

3.SetStudentInfo

说明:请求的页面的地址: /MyWebService.asmx/SetStudentInfo;主机地址为:192.168.0.194;端口号:如果不是80端口,必须给出。

注意参数说明。

调用该服务的完整路径为:http://192.168.0.194:85/MyWebService.asmx/SetStudentInfo 。(具体情况,具体分析)

4.GetMulStudentInfos

说明:请求的页面的地址: /MyWebService.asmx/HelloSomeBody;主机地址为:192.168.0.194;端口号:如果不是80端口,必须给出。

调用该服务的完整路径为:http://192.168.0.194:85/MyWebService.asmx/GetMulStudentInfos。(具体情况,具体分析)

3.下面是核心部分,也就是调用服务的Ajax脚本代码。CallWebService.js

$(document).ready(pageLoad);

// 载入时进行执行的方法

function pageLoad() {

BindCallHello();

BindCallBody();

BindGetSingleStudent();

BindGetMulStudents();

}

// 调用HelloWebService

function BindCallHello(){

$("#btnCallHello").click(function() {

$.ajax({

type: "post", //访问WebService使用Post方式请求

url: "http://192.168.0.194:85/MyWebService.asmx/HelloWebService", //调用Url(WebService的地址和方法名称组合---WsURL/方法名)

data: {}, //这里是要传递的参数,为Json格式{paraName:paraValue}

contentType: "Application/Json", // 发送信息至服务器时内容编码类型

beforeSend: function(XMLHttpRequest) {

XMLHttpRequest.setRequestHeader("Accept", "Application/Json"); // 接受的数据类型。(貌似不起作用,因为WebService的请求/返回 类型是相同的,由于请求的是Json,所以,返回的默认是Json)

},

success: function(data) {

var jsonValue = data;

alert(jsonValue.d);// 输出Json

},

complete: function(XMLHttpRequest, textStatus) {

var returnText = XMLHttpRequest.responseText;

$("#backData").html(returnText);// 输出服务器端返回数据

}

});

});

}

// 调用调用HelloSomeBody

function BindCallBody() {

$("#btnCallBody").click(function() {

var name = $("#txtName").val();

$.ajax({

type: "post", //访问WebService使用Post方式请求

url: "http://192.168.0.194:85/MyWebService.asmx/HelloSomeBody", //调用Url(WebService的地址和方法名称组合---WsURL/方法名)

data: "{name:'" + name + "'}", //这里是要传递的参数,为Json格式{paraName:paraValue}

contentType: "Application/Json", // 发送信息至服务器时内容编码类型

beforeSend: function(XMLHttpRequest) {

XMLHttpRequest.setRequestHeader("Accept", "Application/Json"); // 接受的数据类型。(貌似不起作用,因为WebService的请求/返回 类型是相同的,由于请求的是Json,所以,返回的默认是Json)

},

success: function(data) {

var jsonValue = data;

alert(jsonValue.d); // 输出Json

},

complete: function(XMLHttpRequest, textStatus) {

var returnText = XMLHttpRequest.responseText;

$("#backData").html(returnText); // 输出服务器端返回数据

}

});

});

}

function BindGetSingleStudent() {

$("#btnSinStuInfo").click(function() {

var stuSid = $("#txtStuSid").val();

var stuName = $("#txtStuName").val();

var stuSex = $("#txtStuSex").val();

var stuAge = $("#txtStuAge").val();

$.ajax({

type: "post", //访问WebService使用Post方式请求

url: "http://192.168.0.194:85/MyWebService.asmx/SetStudentInfo", //调用Url(WebService的地址和方法名称组合---WsURL/方法名)

data: "{name:'" + stuName +"',sex:'"+stuSex+"',age:'"+stuAge+"',sid:'"+stuSid+ "'}", //这里是要传递的参数,为Json格式{paraName:paraValue}

contentType: "Application/Json", // 发送信息至服务器时内容编码类型

beforeSend: function(XMLHttpRequest) {

XMLHttpRequest.setRequestHeader("Accept", "Application/Json"); // 接受的数据类型。(貌似不起作用,因为WebService的请求/返回 类型是相同的,由于请求的是Json,所以,返回的默认是Json)

},

success: function(data) {

var jsonValue = data;

alert(jsonValue.d.Sid); // 输出Json

},

complete: function(XMLHttpRequest, textStatus) {

var returnText = XMLHttpRequest.responseText;

$("#backData").html(returnText); // 输出服务器端返回数据

}

});

});

}

function BindGetMulStudents() {

$("#btnMulStuInfos").click(function() {

$.ajax({

type: "post", //访问WebService使用Post方式请求

url: "http://192.168.0.194:85/MyWebService.asmx/GetMulStudentInfos", //调用Url(WebService的地址和方法名称组合---WsURL/方法名)

data: {}, //这里是要传递的参数,为Json格式{paraName:paraValue}

contentType: "Application/Json", // 发送信息至服务器时内容编码类型

beforeSend: function(XMLHttpRequest) {

XMLHttpRequest.setRequestHeader("Accept", "Application/Json"); // 接受的数据类型。(貌似不起作用,因为WebService的请求/返回 类型是相同的,由于请求的是Json,所以,返回的默认是Json)

},

success: function(data) {

var jsonValue = data;

alert(jsonValue.d[0].Sid); // 输出Json

},

complete: function(XMLHttpRequest, textStatus) {

var returnText = XMLHttpRequest.responseText;

$("#backData").html(returnText); // 输出服务器端返回数据

}

});

});

}

说明:相关注释写的很详细,应该地球人都知道。应该是玩程序的地球人都知道。

总结:

至此,所有代码知识点,都已经贴出来了。

细心的读者应该能发现,我之所以很赘述的把4个服务方法都列了出来,其实是想让大家看清楚,每个方法的侧重点不同。调用方法上包括:无参数的调用,参数调用。

返回值类型上包括:返回字符串,返回自定义实体数据。

所有返回值都为Json数据。Json数据作为返回值,近来大受亲睐。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python下载晚上excel_Python自动操控excel,一小时解决你一天的工作

过去&#xff0c;在很多金融、市场、行政的招聘中&#xff0c;面试官都会问一句&#xff1a;“你精通 EXCEL 吗&#xff1f;”但今天&#xff0c;他们可能更喜欢问&#xff1a;“你会 Python 吗&#xff1f;”越来越多的企业开始用 Python 处理数据&#xff0c;特别是金融、证券…

java 注释 过时_Java 注解

前言为什么需要学习注解?1.能够灵活地使用框架提供的注解,最后能够读懂框架的源码2.能够配合反射将代码书写更加的灵活,更加易于维护易于扩展,Properties配置,XML配置,注解配置[Java配置]3.极大程度地简化了代码,提高了代码的可读性注解的概述Java提供了一种源程序中元素和任何…

python模拟登录淘宝直通车_Python实现的淘宝直通车数据抓取(1)

最近帮一个朋友做一个抓取淘宝直通车数据的小项目&#xff0c;感觉ython比较适合写爬虫程序&#xff0c;决定使用Python来做程序。首先是登陆程序&#xff0c;因为淘宝的登陆校验很复杂&#xff0c;所以不能直接使用命令行的形式输入账号密码。查阅资料后&#xff0c;发现可以使…

java的serversocket_Java ServerSocket 实现聊天室功能(简易版)

大体实现功能可以选择房间&#xff0c;可以与房间中的用户进行实时的交流说在前面的话:serverSocket.accept() 会形成阻塞scanner.hasNextLine() 和 scanner.nextLine() 也会形成阻塞windows 下需要打开telnet服务。请自行百度实现思路:用户连接上服务器后选择房间号&#xff0…

python爬虫验证码的识别_Python爬虫识别验证码

Python爬虫识别验证码安装tesserocrpip3 install tesserocr pillow识别测试将验证码图片放到项目根目录下&#xff0c;用tesserocr库识别该验证码&#xff0c;代码如下所示&#xff1a;import localelocale.setlocale(locale.LC_ALL, C)import tesserocrfrom PIL import Imagei…

python对象属性赋值_关于python对象 中dict属性赋值的疑问

下面这段代码 很奇怪把两个对象放在一个 list中然后循环操作两个对象 中 一个dict key的数值但是循环操作输出的时候发现两个对象的 值会叠加#!/usr/bin/env pythonclass test:base {score : 100}def setBase(self, score):self.base[score] scoredef addScore(self):self.se…

java mysql jsp分页代码_JSP实现数据库分页显示源代码例

JSP实现数据库分页显示源代码例2018-11-25分页显示数据库信息分页显示数据库记录用户名性别电话E-Mailtry{//驱动程序名String driverName"sun.jdbc.odbc.JdbcOdbcDriver";//连接字符串String url"jdbc:odbc:userdata";//加载驱动程序Class.forName(driver…

java解压zip异常_java解压zip文件示例

若是使用Java自带的压缩工具包来实现解压缩文件到指定文件夹的功能&#xff0c;因为jdk提供的zip只能按UTF-8格式处理&#xff0c;而Windows系统中文件名是以GBK方式编码的&#xff0c;所以如果是解压一个包含中文文件名的zip包&#xff0c;会报非法参数异常&#xff0c;所以要…

ensp删除所有命令_HCIA学习笔记——eNSP配置NAT技术

今天用华为的eNSP做了关于NAT的实验&#xff0c;我把它发了出来&#xff0c;有需要的小伙伴可以收藏一下。分别配置了静态的NAT&#xff0c;NAT Outbound配置&#xff0c;Easy IP配置&#xff0c;NAT server配置。接口配置如图所示。在网关路由器上配置访问外网的默认路由。配置…

java怎么设置背景_如何在Java中设置背景图片?

小编典典根据应用程序或小程序是使用AWT还是Swing&#xff0c;答案会略有不同。(基本上&#xff0c;以J诸如JApplet和JFrame为开头的类是Swing和Appletand Frame是AWT。)无论哪种情况&#xff0c;基本步骤都是&#xff1a;将图像绘制或加载到Image对象中。在要绘制背景的绘画事…

python调用selenium的get_Python – selenium webdriver在循环中停留在.get()

我有一个Python代码片段,它使用Selenium Webdriver来循环一些历史性的棒球赔率.代码的第一部分旨在从调度表(包含大约57个需要循环的页面)中获取所有单独的游戏URL,并将它们存储在列表中.我第一次测试它它工作得很好 – 现在,无论出于何种原因,driver.get()函数似乎无法正常工作…

java什么叫元素_什么是Java做什么 - 每个元素使它们成为对象类型?

这个问题关于如何处理Java for-each循环中的元素。我有一个哈希表&#xff0c;它是一个LinkedLists数组。 LinkedList节点的数据部分包含TableEntry&#xff0c;其中K和V是键和值类型。我写了一个for循环来查看LinkedList中的每个TableEntry&#xff0c;检查一个键是否等于Tabl…

python读取dicom文件的包_python 读取DICOM头文件的实例

用dicompyler软件打开dicom图像&#xff0c;头文件如图所示&#xff1a;当然也可以直接读取&#xff1a;ds dicom.read_file(H:Datadata216622.16.840.1.113662.2.0.105002416.1489146183.701CTCT#0#21662#E7AB693D.dcm)print ds>>(0008, 0008) Image Type CS: [ORIGINA…

java程序员用代码写的情书_用代码写的三行情诗,你懂得程序员的浪漫吗?

原标题&#xff1a;用代码写的三行情诗&#xff0c;你懂得程序员的浪漫吗&#xff1f;在一般人眼里&#xff0c;程序员是一群古板&#xff0c;技术宅&#xff0c;不懂得浪漫的屌丝&#xff0c;但其实这些大神们浪漫起来也是相当可以的&#xff01;下面让我们来看一下程序员们用…

对比四大企业级linux版本_Linux家族族谱

大体上来讲&#xff0c;Linux分为两个生态体系&#xff0c;红帽和debian。商业版本以Redhat为代表&#xff0c;开源社区版本则以debian为代表。红帽家族redhat &#xff1a;红帽自家服务器centos &#xff1a;基于红帽重新封装的去掉版权信息的免费版本fedora &#xff1a;基于…

java编写静态工具类_Java编程中静态内部类与同步类的写法示例

java静态内部类将某个内部类定义为静态类&#xff0c;跟将其他类定义为静态类的方法基本相同&#xff0c;引用规则也基本一致。不过其细节方面仍然有很大的不同。具体来说&#xff0c;主要有如下几个地方要引起各位程序开发人员的注意。(一)一般情况下&#xff0c;如果一个内部…

python流量实时统计_Python实现获取nginx服务器ip及流量统计信息功能示例

本文实例讲述了Python实现获取nginx服务器ip及流量统计信息功能。分享给大家供大家参考&#xff0c;具体如下&#xff1a;#!/usr/bin/python#codingutf8log_file "/usr/local/nginx/logs/access.log"with open(log_file) as f:contexts f.readlines()# define ip d…

java实验1机动车实验目的_《Java程序设计》实验指导书.doc

《Java程序设计》实验指导书实验一、熟悉JDK环境及主要命令一、实验目的1) 熟悉JDK的环境配置2) 掌握JDK的命令3) 掌握Java Application程序的开发过程&#xff0c;并编写一个Java Application程序二、实验内容1&#xff0e;按照上课所学知识&#xff0c;为自己的机器配置环境变…

python selenium 下载文件_Python Selenium —— 文件上传、下载,其实很简单

很多selenium学习者被浏览器弹出的文件上传、下载框折磨的痛不欲生&#xff0c;今天博主就带你们轻松搞定上传和下载问题。上传上传弹框文件上传是所有UI自动化测试都要面对的一个头疼问题&#xff0c;要处理这个问题&#xff0c;我们需要&#xff1a;首先&#xff0c;要区分出…

mysql vim 命令_Vim基本命令必知必会

光标移动定位方式hjkl (强例推荐使用其移动光标&#xff0c;但不必需) →你也可以使用光标键 (←↓↑→). 注: j 就像下箭头0 → 数字零&#xff0c;到行首^ → 到本行第一个不是blank字符的位置(所谓blank字符就是空格&#xff0c;tab&#xff0c;换行&#xff0c;回车等)$ →…