解决jquery调用NET webservice跨域的问题
声明,解决方案由网上收集而来,个人整理。有别人的,也有我的。
一、webserive端
1.web.config
需要在web.config的configuration节点中加入如下的黑体部分内容。
<system.web>
<webServices>
<protocols>
<add name="HttpGet" />
<add name="HttpPost" />
</protocols>
</webServices>
</system.web>
再加入以下内容
<system.webServer>
<!--解决跨域请求 by wys -->
<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.asm.x
还不清楚是否必须在类前要加上以下内容。没时间测
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
3.一个方法
[WebMethod]
public string getProduct()
{
DataTable dt = BizLogic.ProductsBLL.GetProductInfo();
HttpContext.Current.Response.ContentType = "application/json";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
var obj = new
{
Status = 1,
Data = dt
};
return Newtonsoft.Json.JsonConvert.SerializeObject(obj);
}
二。JS部分
var svr_url = "http://192.168.2.23:9001/******.asmx/";
function getdata(action,para,callback)
{
var uu = svr_url + action;
$.ajax({
type: "post",
contentType:"application/json",
data:para,
url:svr_url + action,
dataType:'json',
success:function(result){
console.log(result);
var res=JSON.parse(result.d);
if(res.Status==1){
if(callback)callback(res.data);
}
else
{
alert(res.Message);
}
},
error:function(err){
console.log(err);
}
});
}
三。HTML页面
getdata('getProduct',[],afterGet);
var afterGet=function(data)
{
......
}
以上实测通过,系统运行中。
转载于:https://www.cnblogs.com/jianfengcai/p/6253330.html
解决jquery调用NET webservice跨域的问题相关推荐
- Nginx解决前端调用后端接口跨域问题
Nginx解决前端调用后端接口跨域问题 参考文章: (1)Nginx解决前端调用后端接口跨域问题 (2)https://www.cnblogs.com/wangymd/p/11200746.html ...
- html中jsonp错误,解决jquery中jsonp格式跨域请求报parsererror的错误
在vs中创建一个空的mvc项目,在Controllers文件夹中添加一个控制器CommonController,并在该控制器下添加一个action用于获取服务器时间,代码如下: public Acti ...
- [css] 如何解决css加载字体跨域的问题?
[css] 如何解决css加载字体跨域的问题? 刚才碰到一个css加载字体跨域问题,记录一下. 站点的动态请求与静态文件请求是不同的域名的.站点的域名为 www.domain.com,而静态文件的域名 ...
- JQuery - Ajax和Tomcat跨域请求问题解决方法!
JQuery - Ajax和Tomcat跨域请求问题解决方法! 参考文章: (1)JQuery - Ajax和Tomcat跨域请求问题解决方法! (2)https://www.cnblogs.com/ ...
- 解决使用elementUI框架el-upload跨域上传时session丢失问题
解决使用elementUI框架el-upload跨域上传时session丢失问题 参考文章: (1)解决使用elementUI框架el-upload跨域上传时session丢失问题 (2)https: ...
- Vue---vue-cli 中的proxyTable解决开发环境中的跨域问题
Vue---vue-cli 中的proxyTable解决开发环境中的跨域问题 参考文章: (1)Vue---vue-cli 中的proxyTable解决开发环境中的跨域问题 (2)https://ww ...
- 前端调用第三方接口跨域问题(淘宝)
前端调用第三方接口跨域问题 百度了好久,大部分的文章都前篇一律的说jsonp跨域,要不就是说配置CROS.看到那种文章出处应该都是一家,心好累.首先来说淘宝目前的接口是不支持jsonp请求的,配置CR ...
- html2canvas解决图片空白,网络图片跨域
解决思路:前端将网络图片转换成64位格式 不需要设置什么阿里云服务器跨域,nginx配置header等等 1.准备一个canvas标签用于转换64位格式图片 <canvas ref=" ...
- Django中的跨域解决办法 基于后端的跨域解决方案
Django中的跨域解决办法 基于后端的跨域解决方案 1 何为跨域 在浏览器中,只要发送请求的URL的协议.域名.端口号这三者中的任意一个与当前页面地址的协议.域名.端口号不同,则称之为跨域.当发生这 ...
最新文章
- 参数服务器训练基本理论
- Solid Converter PDF
- 坑爹的jquery ui datepicker
- express开发实例
- c++ template笔记(3)非类型模板参数nontype template parameters
- 使用Chrome保存网页为mht文件
- OpenSatck Ironic实现裸机管理
- ASP.NET MVC 利用Razor引擎生成静态页
- ueditor编辑器图片自定义存放目录及路径修改
- 台风怎么看内存颗粒_【无趣】使用300多元的D4 16G内存是种什么体验
- 云,git,blog,感想
- asp.net多图片上传同时保存对每张图片的描述
- Keil芯片安装包下载
- ASO优化|华为关键词覆盖优化技巧
- 邮箱有效性验证(是否真实存在可发送)
- CSS布局:多种方案实现固定页脚(sticky footer)
- 因服务器升级维护平安京怎么办,阴阳师12月31日维护更新公告_阴阳师12月31日更新了什么_玩游戏网...
- 面试常问的 C/C++ 问题,你能答上来几个?
- 使用PS(Adobe Photoshop CC)设计Banner
- 什么是马甲APP?怎么用马甲APP导流
热门文章
- html pre标签增加行号,vue使用highlight.js 添加行号
- html获取节点属性,JS操作属性节点(非常详细)
- linux 中添加kvm虚拟化,在 Centos7 的KVM上启用嵌套虚拟化
- mysql的其中连接方式_MySQL选择连接中的位置,但不在其中
- C++socket编程(二):系统socket库介绍
- 基于鸿蒙操作系统移植,基于鸿蒙OS的按键驱动
- Spring mvc @ModelAttribute
- Flink 生成数据源
- pytorch GPU
- python 单例类