转自原文 jQuery调用WebService

1、编写4种WebService方法

    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ScriptService]                             //令WebService成功传入Json参数,并以Json形式返回结果
    [GenerateScriptType(typeof(Person))]        //不是必要,但推荐添加(如果Person里面再嵌套另一个复杂类型,则必要声明)
    [ToolboxItem(false)]
    public class WebService1 : System.Web.Services.WebService
    {
        /// 
        /// 无任何参数
        /// 
        /// 
        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }

/// 
        /// 传入参数
        /// 
        /// 
        /// 
        [WebMethod]
        public string Hello(string name)
        {
            return string.Format("Hello {0}", name);
        }

/// 
        /// 返回泛型列表
        /// 
        /// 
        /// 
        [WebMethod]
        public List<int> CreateArray(int i)
        {
            List<int> list = new List<int>();

while (i >= 0)
            {
                list.Add(i--);
            }

return list;
        }

/// 
        /// 返回复杂类型
        /// 
        /// 
        /// 
        /// 
        [WebMethod]
        public Person GetPerson(string name, int age)
        {
            return new Person()
            {
                Name = name,
                Age = age
            };
        }
    }

/// 
    /// 复杂类型
    /// 
    public class Person
    {
        public string Name { get; set; }

public int Age { get; set; }
    }

2、编写js调用以上方法

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页title>
    <style type="text/css">
    input
    {
        width:200px;
    }
    <style>

<script type="text/javascript" src="jquery-1[1].2.6.min.js"></script>
    <script type="text/javascript">
    $(function(){  
      
        /*
            1、WebService请求类型都为Post,WebService的Url为“[WebServiceUrl]/[WebMethod]”
            2、contentType声明为Json
            3、data要用Json的字符串格式传入
            4、设置了dataType为json后,result就直接为返回的Json对象。

*/
        
        //调用无参数方法
        $("#btnHelloWorld").click(function(){
            $.ajax({
                type: "POST",
                contentType:"application/json",
                url:"WebService1.asmx/HelloWorld",
                data:"{}",
                dataType:'json',
                success:function(result){                    
                    alert(result.d);
                }
            });
        });        
        
        //传入1个参数
        $("#btnHello").click(function(){
            $.ajax({
                type: "POST",
                contentType:"application/json",
                url:"WebService1.asmx/Hello",
                data:"{name:'KiMoGiGi'}",
                dataType:'json',
                success:function(result){                    
                    alert(result.d);
                }
            });
        });
        
         //返回泛型列表
        $("#btnArray").click(function(){
            $.ajax({
                type: "POST",
                contentType:"application/json",
                url:"WebService1.asmx/CreateArray",
                data:"{i:10}",
                dataType:'json',
                success:function(result){                    
                    alert(result.d.join(" | "));                 }             });
        });
        
         //返回复杂类型         $("#btnPerson").click(function(){             $.ajax({                 type: "POST",                 contentType:"application/json",                 url:"WebService1.asmx/GetPerson",                 data:"{name:'KiMoGiGi',age:26}",                 dataType:'json',                 success:function(result){                     var person = result.d;                     var showText = [];                     for(var p in person){                         showText.push(p + ":" + person[p]);                     }                     alert(showText.join("\r\n"));                 }             });         });     });     </script> <head>     <body>         <form id="form1" runat="server">             <p>                 <input type="button" id="btnHelloWorld" value="HelloWorld" />             <p>             <p>                 <input type="button" id="btnHello" value="Hello" />             <p>             <p>                 <input type="button" id="btnArray" value="CreateArray" />             <p>             <p>                 <input type="button" id="btnPerson" value="GetPerson" />             <p>         <form>     <body> <html>

转载于:https://www.cnblogs.com/arxive/p/7204317.html

jQuery调用WebService ( 同源调用)相关推荐

  1. js php调用webservice,php调用web services两种方法soap和curl

    以http://www.webxml.com.cn/zh_cn/index.aspx 一.使用soap调用 //服务器支持soap扩展: /*Example 1: $client = new Soap ...

  2. php soap调用webservice,php调用webservice的例子 - soapclient

    ...求的GetInfo没有给出响应? $soap = new SoapClient("http://xxxxxxxxxWSDL");$xml = $soap->GetInf ...

  3. Jquery调用webservice

    Jq调用webservice Jq调用webservice在写法上和调用一般处理程序等方法略有不同 [WebService(Namespace = "http://tempuri.org/& ...

  4. 为什么添加Web引用后,客户端就能远程调用WebService了?

    前言 好多人会写WebService也会远程调用WebService,调用前必须先添加WebReferences才行,可有多少人知道为什么添加引用后就能访问了呢?肯定有人会说只要能调用就行了,不必关心 ...

  5. jQuery Ajax 调用WebService实例详解

    JQuery Ajax调用webservice的一些经验记录,在此实例中,解决跨域使用了Core解决方案,在下一篇文章中,会介绍JS 跨域的问题. 实例!.实例!.实例! 跨域解决方案 实例-源码 前 ...

  6. 关于jquery调用webservice的一些感想

    这几天在实现一个地图上的小功能,从一个服务器A上向另一个服务器B传送数据(xml格式),然后在服务器B上显示出相关的信息并画线,然后可以实现轨迹播放什么的.原本这些不费什么事的,这些功能原先在java ...

  7. jQuery调用WebService返回JSON数据

    相信大家都比较了解JSON格式的数据对于ajax的方便,不了解的可以从网上找一下这方面的资料来看一下,这里就不多说了,不清楚的可以在网上查一下,这里只说一下因为参数设置不当引起的取不到返回值的问题. ...

  8. jquery ajax 调用webservice以及跨域问题

    先在服务器端配置webconfig,因为默认情况下是不支持post,get访问 在system.web 中间 <webServices ><protocols ><add ...

  9. jquery跨域调用webService

    jquery跨域调用webService,以及解决跨域情况下只能返回XMl格式数据的问题 http://lu.9efish.com/blog/jquery-cross-domain-call-asp. ...

  10. asp.net 前端使用jquery $post 方法调用webservice 部署到IIS时会无法使用的问题

    最近因为做web项目,学习了jquery,前端页面也使用了不少jquery调用本项目累的webservice方法,感觉jquery的 $.ajax 方法与$.post方法功能上差别不大,应为$.pos ...

最新文章

  1. 使用命令导入sql文件到mysql数据库时报Failed to open file错误的解决方案
  2. 开发、测试与QA的区别以及其他
  3. Layui导航树美化
  4. bae3.0第三步 添加默认管理后台模块和mysql库
  5. solr 配置中文分析器/定义业务域/配置DataImport功能(测试用)
  6. Atitit 多继承实现解决方案 java c#
  7. 由线性空间V中的集合生成的子空间
  8. android 微信搜索功能,[多图]等了N年的功能来了 Android微信8.0.3新版体验
  9. 隐藏 Nginx 版本号和软件名
  10. Chrome的隐身模式
  11. Entering emergency mode. Exit the shell to continue
  12. Meltdown: Reading Kernel Memory from User Space论文翻译
  13. 【干货】MySQL底层架构设计,你了解多少?
  14. PS 的形状工具的布尔运算
  15. 大学四年因为知道了这32个网站,我成了别人眼中的大神!
  16. Matlab相机标定可能遇到的报错
  17. Hybrd A*(混合A*)算法
  18. Android仿miui11风格,华为EMUI10对比小米MIUI11,到底谁才是最好用的系统?
  19. RISK and OPPORTUNITY MANAGEMENT 风险与机会管理 (RSK)
  20. 虚拟化六大安全问题 解决刻不容缓

热门文章

  1. C++ 练习题(一:布尔表达式与真值表图文详解)
  2. CTFHUB Web前置技能 题解记录(HTTP部分)
  3. [swift 进阶]读书笔记-C2P3_Set、 C2P4_Range
  4. 03.基于测试开发讲解和Cobertura框架介绍
  5. BE THE PIONEER FROM APSARADB——2018云栖大会·深圳峰会·云数据库在线直播分论坛
  6. 浅析B/S架构数据库连接方式
  7. 《从零开始学Swift》学习笔记(Day 45)——重写方法
  8. [JAVA #183; 初级]:1.环境变量的配置
  9. Java笔记——equals和==的区别
  10. tomcat服务器配置优化