Html中使用jquery通过Ajax请求WebService接口以及跨域问题解决

news2024/11/20 15:40:09

场景

VS2019新建WebService/Web服务/asmx并通过IIS实现发布和调用:

VS2019新建WebService/Web服务/asmx并通过IIS实现发布和调用_霸道流氓气质的博客-CSDN博客

在上面实现发布WebService的基础上,怎样在html中通过jquery对接口发起

请求和解析数据。

注:

博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主

实现

1、WebSerivce返回json字符串。

这里直接使用转义后的json模拟数据

​
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    public class WebService1 : System.Web.Services.WebService
    {

        [WebMethod]
        public string GetLocStatusInfo(string CardNum,string CardType)
        {
            return "{\"Code\":\"1\",\"Message\":\"\",\"result\":[{\"cardnum\":\"5904\",\"devNum\":\"31794\",\"isinwell\":\"1\"}]}";
        }
    }

​

2、新建html,并引入Jquery

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
     <script src="jquery-3.5.1.min.js" type="text/javascript"></script>
	<script type="text/javascript">
         window.setInterval(() => {
            //响应正常
            $.ajax({
              type: "get", 
              //这样会提示 缺少参数: CardNum。
              //url: `http://ip:8899/KjtxLocService.asmx/GetLocStatusInfo`,
              url: `http://ip:8899/KjtxLocService.asmx/GetLocStatusInfo?CardNum=&CardType=3`,
              dataType: "xml",
              contentType: "application/xml",
              success: (result) => {
                let data = JSON.parse(result.getElementsByTagName('string')[0].innerHTML);
                console.log(data);
              },
              error: function(e) {
                console.log(e);
              },
            });
          }, 6000)	
	</script>
</head>
<body>

</body>
</html>

这里使用定时器对接口发起定时调用。

这里的contentType: "application/xml",是根据接口中的提示确定的

 

请求到数据后进行处理

let data = JSON.parse(result.getElementsByTagName('string')[0].innerHTML)

 

这是因为接口返回的是xml中包含着json字符串。

3、此时直接在浏览器中打开该html,查看控制台会提示跨域

需要修改webservice中的Web.config文件,在configuration中配置允许跨域请求

  <system.webServer>
    <!--配置为列出此目录的内容-->
    <directoryBrowse enabled="true"/>
    <!--配置允许跨域请求-->
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="*"/>
        <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/>
      </customHeaders>
    </httpProtocol>
  </system.webServer>

如果需要在其他机器上远程访问,还需要在configuration开启如下配置

  <system.web>
    <!--配置允许远程调用webservices-->
    <webServices>
      <protocols>
        <add name="HttpSoap"/>
        <add name="HttpPost"/>
        <add name="HttpGet"/>
        <add name="Documentation"/>
      </protocols>
    </webServices>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>

修改位置

 

4、此时则不会再出现跨域提示,也能正常获取json数据了

 

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

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

相关文章

【航空和卫星图像中检测建筑物】使用gabor特征和概率的城市区域和建筑物检测研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

领域驱动设计DDD架构解析和绘图模板分享

DDD整洁架构 DDD整洁架构为了解决强调用的关系&#xff0c;出现了洋葱架构&#xff08;六边形&#xff09;架构&#xff0c;就是为了实现依赖倒置 它的思想就是把领域模型放到核心的位置&#xff0c;领域模型是独立的&#xff0c;不会直接强依赖其他层&#xff0c;而通过适配…

mmtrack mmdet mmcv环境安装 版本匹配 2023.5.18

一、参考官网&#xff1a; https://mmtracking.readthedocs.io/zh_CN/latest/install.html# mmtracking&#xff0c;mmcv&#xff0c;mmdetection版本匹配关系&#xff1a; MMTracking versionMMCV versionMMDetection versionmastermmcv-full>1.3.17, \<2.0.0MMDetec…

100 个 Go 错误以及如何避免:9~12

协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【OpenDocCN 饱和式翻译计划】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 真相一旦入眼&#xff0c;你就再也无法视而不见。——《黑客帝国》 九、并发实践 本章涵盖 防止 …

vue3的学习【超详细】

目录 一、vue3的优点1、vue3的优点 二、常用的API1、setup&#xff08;Composition API&#xff09;2、生命周期&#xff08;Composition API&#xff09;3、ref函数和reactive函数用法和区别&#xff08;Composition API&#xff09;1、ref2、reactive3、ref和reactive的区别 …

linux + ros 使用 catkin 从源码编译安装并运行 rocon_rtsp_camera_relay 订阅 rtsp 视频流

1. rocon_rtsp_camera_relay 介绍 最主要的功能在于把相机的 rtsp 视频流 转换为 ros topic 发布出来&#xff0c;使其他节点可以通过订阅的形式获取视频流数据。 2. 编译安装 注&#xff1a;官网的安装命令 sudo apt-get install ros-<distro>-rocon-rtsp-camera-rel…

leetcode 1557. Minimum Number of Vertices to Reach All Nodes(到达所有顶点的最少顶点集)

给出一个有向无环图&#xff08;DAG&#xff09;&#xff0c;顶点有n个&#xff1a;0&#xff5e;n - 1, 边[from, to]为从顶点from到to的边。 找出最小的顶点集合&#xff0c;从这些顶点出发能到达图中的所有顶点&#xff08;集合里不一定每个点都能到达所有顶点&#xff0c;而…

kettle——处理缺失值

目录 一、删除缺失值 1、文本文件输入 2、字段选择 3、过滤记录 4、输出excel文件 5、运行 二、填充缺失值 1、添加文件 2、过滤记录 3、替换NULL值 4、合并记录 5、替换NULL值2 6、字段选择 7、Excel输出 8、运行并查看执行结果 一、删除缺失值 1、文本文件输入…

MMOE - 经典多任务模型(谷歌)

文章目录 1、动机&#xff1a;2、模型结构&#xff1a; Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Expertsmmoe: Multi-gate Mixture-of-Expertsmmoe由谷歌发表在KDD-2018【和阿里的ESMM同年发表&#xff0c;SIGIR-2018】&#xff1b;模…

华为手环8添加门禁卡操作指导

不得不说&#xff0c;华为基于手机/手环NFC和蓝牙等技术应用&#xff0c;结合门禁卡灵活、安全、便利的优势&#xff0c;给社区场景提供更优质和更多样的技术支持与服务&#xff0c;为广大用户创造美好的数字化生活体验。 目前华为手环8支持模拟市面上未经加密过的、频率为13.5…

服务发现原理与grpc源码解析

一 服务发现基础概念 为什么需要服务发现 在微服务架构中&#xff0c;在生产环境中服务提供方都是以集群的方式对外提供服务&#xff0c;集群中服务的IP随时都可能发生变化&#xff0c;如服务重启&#xff0c;发布&#xff0c;扩缩容等&#xff0c;因此我们需要及时获取到对应…

ThreadLocal使用和原理

ThreadLocal是线程本地变量&#xff0c;用来解决并发下数据隔离性的问题&#xff0c;不能解决共享。 他可以将一个变量拷贝的线程内&#xff0c;线程调用时再线程内进行使用&#xff0c;相当于给每个线程复制一个副本供各个线程使用。 ThreadLocal简单使用 他的目的很简单&a…

Unity用AI制作天空盒,并使用,详细图文教程

Unity用AI制作天空盒&#xff0c;并使用&#xff0c;详细图文教程 效果AI制作使用总结版权声明 效果 先上我自己做的效果 AI制作 首先登录AI制作的网站&#xff0c;打开就可以用&#xff0c;不需要登录 这是网址&#xff1a;https://skybox.blockadelabs.com/ 1.创建新的 2…

idea操作——如何format代码

1.选中需要format的类&#xff0c;然后右击&#xff0c;选择reformat code 2.出现的复选框根据自己的需求进行选择。然后点击OK即可。 Optimize imports 优化导入 选中此复选框可从所选范围内的代码中删除未使用的导入语句。 删除代码中没使用到的import 。使导入最优化 Rearr…

【C++】-模板初阶(函数和类模板)

作者&#xff1a;小树苗渴望变成参天大树 作者宣言&#xff1a;认真写好每一篇博客 作者gitee:gitee 作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 如 果 你 喜 欢 作 者 的 文 章 &#xff0c;就 给 作 者 点 点 关 注 吧&#xff01; 文章目录 前言一、为什么要模板&…

【面试题】谈谈你对vite的了解

大厂面试题分享 面试题库 前后端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 web前端面试题库 VS java后端面试题库大全 1.什么是vite vite是新一代前端构建工具&#xff0c;能够显著提升前端开发体验。他是使用…

东邻到家小程序|东邻到家小程序源码|东邻到家小程序开发功能

上门服务这几年已经越来越火爆&#xff0c;不论是家政、按摩、美甲等等都在不断的发展上门服务&#xff0c;这几年东邻到家小程序系统在不断的摸索阶段&#xff0c;对于系统各方面的需求也在不断提升&#xff0c;东郊到家小程序通过线上匹配用户和技师的需求&#xff0c;让人们…

低代码开发打破CRM开发瓶颈,是否靠谱呢?

低代码开发平台是一种快速开发应用程序的新兴技术&#xff0c;它通过提供可视化开发工具和预配置组件&#xff0c;使开发者更加高效地创建应用程序。低代码开发平台的出现为企业开发带来了一次全新的机遇&#xff0c;尤其是在CRM领域。但是&#xff0c;低代码开发在CRM领域中是…

得物前端巡检平台的建设和应用(建设篇)

1.背景 我们所在的效能团队&#xff0c;对这个需求最原始的来源是在一次“小项目”的评审中&#xff0c;增长的业务同学提出来的&#xff0c;目的在于保障前端页面稳定性的同时减少大量测试人力的回归成本。 页面稳定性提升&#xff0c;之前迭代遇见过一些C端的线上问题&…

自学软件测试,我还是劝你算了吧。。。

本人8年测试经验&#xff0c;在学测试之前对电脑的认知也就只限于上个网&#xff0c;玩个办公软件。这里不能跑题&#xff0c;我为啥说&#xff1a;自学软件测试&#xff0c;一般人我还是劝你算了吧&#xff1f;因为我就是那个一般人&#xff01; 软件测试基础真的很简单&…