前端时间公司接口整顿,所有接口放一起了,然后我就写了一大堆API接口.......

今天用上了,公用人员库,前台通过ajax访问,

先是以‘json’作为数据格式进行访问,直接response field,,

发现是跨域了,尴尬,,,然后改成了‘jsonp’,好了,200 数据也能返回,但是ajax报错.parseerror.

第一种方法:

一堆百度,发现是jsonp格式和json格式是不一样的,jsonp指定了一个callback,然后查一大堆,发现可以解决,但是需要接口返回的时候也把callback指定上,拼接起返回..

感觉这样很不科学啊,,

第二种方法:

然后又是一通百度,发现一个很简单的让接口可以被跨域访问的方法.

直接配置文件下加:

 <httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>

然后就ok拉,Access-Control-Allow-Origin可以指定允许访问的域名,*代表全允许..

第三种方法:引用System.Web.Cors.dll这个库,也可以做到跨域,只是还未尝试过..

顺带把API默认返回XML改为返回JSON的代码贴上

  GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(
new QueryStringMapping("datatype", "json", "application/json"));

对于很多Post访问,报404的问题,解决如下:

 [HttpPost]
public bool Test([FromBody]string NAME)
{
return true;
}

然后前端访问的时候:

 $.ajax({
url: "http://10.12.1.9:9001/api/employee/GetDeptEmployee",
type: 'post',
data: { '': 'KD01.0001.0002.0001' },
dataType: 'json',
success: function (result) {}});

注意data参数部分,单个参数要留空,,不知是为什么,其余问题可参照下面的链接,很详细。

http://www.cnblogs.com/landeanfen/p/5337072.html

https://www.cnblogs.com/landeanfen/p/5177176.html

Ajax跨域访问等问题的更多相关文章

  1. 浅析JSONP-解决Ajax跨域访问问题

    浅析JSONP-解决Ajax跨域访问问题 很久没有写随笔了,总是感觉没时间,其实时间就是...废话少说,前几天,工作上有一新需求,需要前端web页面异步调用后台的Webservice方法返回信息.实现 ...

  2. ajax跨域访问的解决方案

    今天的工作中要访问摄像机内部的一个web站点,这就涉及到jquery的ajax跨域访问的问题.我使用的是jquery1.7的版本,下面总结如下: 问题一:一开始用IE调试,总是返回No Transpo ...

  3. Ajax跨域访问解决办法

    方法1. jsonp实现ajax跨域访问示例 jsp代码: <body> <input type="button" onclick="testJsonp ...

  4. Web Api 2(Cors)Ajax跨域访问

    支持Ajax跨域访问ASP.NET Web Api 2(Cors)的简单示例教程演示   随着深入使用ASP.NET Web Api,我们可能会在项目中考虑将前端的业务分得更细.比如前端项目使用Ang ...

  5. ajax 跨域访问的解决方案

    ajax 跨域访问的解决方案 一.什么是跨域: 1.什么样的请求属于跨域: 域名,端口有任何一个不相同都属于跨域: 二.跨域的常用几种解决方案: 1.jsonp: 2.iframe: 3.webcon ...

  6. Hbuilder编辑App时,ajax跨域访问失败问题

    今天试着用Hbuilder写app的前段显示页面,在第一步时就被打住了,ajax异步调用服务器的登录接口时,报错, 显示这样的错误 XMLHttpRequest cannot loadhttp://w ...

  7. 关于JQuery Ajax 跨域 访问.net WebService

    关于这个 jQuery Ajax跨域访问 WebService 前天整了好几个小时没整明白 今天再看一下 结果突然就顿悟了 1.建一个空webApplication --添加--新建项--web服务( ...

  8. JS Ajax跨域访问

    js ajax跨域访问报"No 'Access-Control-Allow-Origin' header is present on the requested resource 如果请求的 ...

  9. ajax跨域访问http服务--jsonp

    在前面一篇文章<Spring Cloud 前后端分离后引起的跨域访问解决方案>里我们提到使用ajax跨域请求其他应用的http服务,使用的是后台增加注解@CrossOrigin或者增加Co ...

  10. Ajax跨域访问wcf服务中所遇到的问题总结。

    工具说明:vs2012,sql server 2008R2 1.首先,通过vs2012建立一个wcf服务项目,建立好之后.再新开一个vs2012 建立web项目,通过jQuery的ajax方法访问服务 ...

随机推荐

  1. bzoj1709 [Usaco2007 Oct]Super Paintball超级弹珠 暴力

    [Usaco2007 Oct]Super Paintball超级弹珠 Description 奶牛们最近从著名的奶牛玩具制造商Tycow那里,买了一套仿真版彩弹游戏设备(类乎于真人版CS). Bess ...

  2. Python基础教程笔记——第3章:使用字符串

    字符串是不可修改的,标准序列操作(索引,分片,判断成员资格,求长度,取最大值 最小值)对字符串都是有效的. 格式化字符串,类似于C语言的输出是的感觉. >>> format=&quo ...

  3. 前端学习之--CSS

    CSS 常用帮助文档 CSS:被用来同时控制多重网页的样式和布局.HTML页面中CSS样式的写法有3种: 1:标签中写入 <body style='margin o auto;'> 2:h ...

  4. [Bzoj4566][Haoi2016]找相同字符(广义后缀自动机)

    4566: [Haoi2016]找相同字符 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 861  Solved: 495[Submit][Statu ...

  5. react 使用 eslint 的三种代码检查方案总结,多了解点--让代码更完美....

    1.介绍 ESLint 是一个可扩展,每条规则独立,被设计为完全可配置的lint工具. 可以用来检测代码,避免低级错误 可以用来规范代码的开发风格,统一代码习惯. 2.为什么使用 ESLint ? 统 ...

  6. zookeeper客户端

    查看具体结点信息 bash zkServer.sh status 查看哪个结点被选作leader或者followerecho stat|nc 127.0.0.1 2181 测试是否启动了该Server ...

  7. dubbo-admin安装和使用

    更新下链接,不知道是不是这个项目合入Apache的缘故,链接都变成了https://github.com/apache/incubator-dubbo/ 按照常理,直接去 https://github ...

  8. java移位运算符实验程序:&lt;&lt;(左移)、&gt;&gt;(带符 号右移)和&gt;&gt;&gt;(无符号右移)

    public class txs { static void leftbit(){ int i;               //整型长度为32位                           ...

  9. Android中View窗口getWidth和getMeasuredWidth的差别

    今天在研究自己定义listview的下拉刷新的效果.想移植到项目需求中,再看自己定义源代码时发现了一个问题就是getWidth和getMeasuredWidth两个方法有什么差别,求教万能的百度,经调 ...

  10. PL/SQL Developer导入导出Oracle数据库方法

    前一篇博客介绍了Navicat工具备份Oracle的方法.这篇博客介绍一下使用PL/SQL Developer工具导入导出Oracle数据库的方法. PL/SQL Developer是Oracle数据 ...