Ajax 调用webservice 解决跨域请求和发布到服务器后本地调用成功外网失败的问题...
webservice 代码
1 /// <summary> 2 /// MESService 的摘要说明 3 /// </summary> 4 [WebService(Namespace = "http://tempuri.org/")] 5 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 6 //[System.ComponentModel.ToolboxItem(false)] 7 // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 8 [System.Web.Script.Services.ScriptService] 9 public class MESService : System.Web.Services.WebService 10 { 11 12 [WebMethod(Description = "")] 13 public string GetDataReturnStr(string strXML) 14 { 15 //你的结果处理 16 #region 处理数据 17 18 #endregion 19 return Common.JsonHelper.SerializeToJson(new Student() { id = "1", name = "测试" }); 20 } 21 22 23 } 24 [Serializable] 25 public class Student 26 { 27 public string id { get; set; } 28 public string name { get; set; } 29 }
webservice 文件中需要添加的信息
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 [System.Web.Script.Services.ScriptService] WebConfig 文件中需要添加节点
1、解决跨域访问的问题
<system.webServer><!--解决跨域请求 --><httpProtocol><customHeaders><add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET" /><add name="Access-Control-Allow-Headers" value="x-requested-with,content-type" /><add name="Access-Control-Allow-Origin" value="*" /></customHeaders></httpProtocol> </system.webServer>
2、解决本地调用成功,外网调用失败的问题。
<system.web><webServices><protocols><add name="HttpSoap"/><add name="HttpPost"/><add name="HttpGet"/><add name="Documentation"/></protocols></webServices> </system.web>
Ajax 代码
1 $.ajax({ 2 async: true, 3 type: "post", 4 url: "http://localhost:41453/IDataServer/MESService.asmx/GetDataReturnStr", 5 data: "{strXML:'123123123'}", 6 dataType: "json", 7 contentType: "application/json; charset=utf-8", 8 success: function (json) { 9 var dataObj = eval("(" + json.d + ")"); 10 alert(dataObj.id + '\r\n' + dataObj.name); 11 }, 12 error: function () { 13 14 }, 15 complete: function () { 16 } 17 });
这样就可以实现 ajax 访问webservice接口了
转载于:https://www.cnblogs.com/yuchenlove/p/8403498.html
Ajax 调用webservice 解决跨域请求和发布到服务器后本地调用成功外网失败的问题...相关推荐
- Ajax调用springboot接口,Springboot解决ajax+自定义headers的跨域请求问题.pdf
Springboot解解决决ajax+自自定定义义headers的的跨跨域域请请求求问问题题 1..什什么么是是跨跨域域 由于浏览器同源策略 (同源策略,它是由Netscape提出的一 著名的安全策略 ...
- jQuery中Ajax+Spring MVC实现跨域请求
项目开发中,某个可独立.也可集成的子业务模块须要向外开放相关API接口,先说下项目本身使用了jersery来实现RESTful webservice以名词形式公布API.有意思的是在实际的操作中同事却 ...
- 使用YQL解决跨域请求json转jsonp问题
一.跨域报错 首先,是跨域请求的问题,jQuery默认不支持跨域请求,报错如下: index.html:1 XMLHttpRequest cannot load http://www.weather. ...
- ajax中cors解决跨域,AJAX 跨域 CORS 解决方案
两种跨域方法 在 Javascript 中跨域访问是比较常见的事情 就像现在比较流行写单页应用,而单页应用在访问 API 的时候就会有跨域的问题 要解决跨域的问题,其实也并不复杂,有两种方案可以选择 ...
- 利用Access-Control-Allow-Origin响应头解决跨域请求
标签:cors 跨域请求 ACAO 2015-11-28 18:53 12103人阅读 评论(0) 收藏 举报 分类: web前端(5) J2EE服务器(2) 传统的跨域请求没有好的解决方案,无 ...
- Web笔记-使用jsonp解决跨域请求(CROS)问题
目录 基本概念 代码与实例 基本概念 当我在某web站点,这个站点里面发出了像其他站点的请求(不同链接,或者同一链接的不同端口),是会失败的,因为是浏览器的安全检测问题,当然,这个只是主流浏览器的功能 ...
- Java Web解决跨域请求,java初级面试笔试题
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...
- 解决跨域请求的四种方法
跨域 跨域就是请求的url中的"协议"."域名"."端口号"其中任何一种不一样都是属于跨域.解决跨域的主要的四种方法是jsonp.跨域资源共 ...
- 跨域ajax post json 403,跨域请求403详解
0.环境说明 1.下文中跨域实现为服务器域名 http://yaogy.jd.com 向本地项目 leo.com 发起跨域请求,本地进行debug. 2.本地项目 Spring 版本为 4.3.0. ...
最新文章
- Git详解之九 Git内部原理
- 12月3号条件控制语句和循环语句
- 1小时学会:最简单的iOS直播推流(七)h264/aac 硬编码
- Facial keypoints detection Kaggle 竞赛系列
- 上海交大、华为海思提出X-volution,发力网络核心基础架构创新
- Linux如何在任务栏显示时间,在MFC[转载]在MFC状态栏显示时间 状态栏显示时间
- [javaSE] 数组(排序-冒泡排序)
- D - Sequence Swapping DP
- 放弃 Windows 后 ,开源操作系统能成为主流桌面系统吗?
- 无法将输入值传递给JavaScript变量
- 就业寒冬,从拉勾招聘看Python就业前景
- Java基础知识强化之网络编程笔记04:UDP之发送端的数据来自于键盘录入案例
- 经验分享|测试工程师转型测试开发历程
- 复制 PDF 文件上的图片
- Docker文档资料
- 计算机组成原理——数据通路实例
- Flowerpot(单调队列)
- 红米note5软件打开速度测试,差一点才完美!红米Note5深度评测(骁龙636性能测试)...
- 中国建筑设计公司排名
- 关联数据赋能智能化业务
热门文章
- Vue.js CLI4 Vue.config.js标准配置 (最全注释)
- html5 支持音频格式,html5中audio支持音频格式
- gc日志怎么看_你应该怎么监控Kafka?
- 实现Repeater控件的记录单选(二)
- 使用 ServiceStack 构建跨平台 Web 服务(转)
- mouseevent tips
- java请求注释_求达人给java代码【注释】!!请求尽量详细,万分感谢!!
- dlp防泄密系统卸载_怎样做好数据防泄密?奥赛系统早知道
- logback AbstractLogstashTcpSocketAppender 源码解析
- Vue报错:Elements in iteration expect to have ‘v-bind:key‘ directives的解决办法