分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

Ajax 调用webservice 解决跨域请求和发布到服务器后本地调用成功外网失败的问题

发布时间:2023-09-06 01:40责任编辑:白小东关键词:Ajaxwebservice跨域
 
 
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.WebService10 ????{11 12 ????????[WebMethod(Description = "")]13 ????????public string GetDataReturnStr(string strXML)14 ????????{15 ????????????//你的结果处理16 ????????????#region 处理数据17 18 ????????????#endregion19 ????????????return Common.JsonHelper.SerializeToJson(new Student() { id = "1", name = "测试" });20 ????????}21 22 ???????23 ????}24 ????[Serializable]25 ????public class Student26 ????{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接口了




Ajax 调用webservice 解决跨域请求和发布到服务器后本地调用成功外网失败的问题

原文地址:https://www.cnblogs.com/yuchenlove/p/8403498.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved