文档章节

SpringMVC跨域接收JSON

抢小孩糖吃
 抢小孩糖吃
发布于 2016/07/11 10:38
字数 368
阅读 433
收藏 6

#编者注
由于要编写一个统一的xmlrpc调用与rest,里面涉及到了跨域调用问题。随即有以下内容

#Spring的跨域
##Spring 4.2.x 编者原本是想在Spring响应内容添加跨域请求,但由于不好划定跨域范围,产生了拆分想法。但经过查询Spring文档后发现,最新稳定版本提供了跨域支持**@CrossOrigin**,随即我们就可以在Controller当中添加注解来完成。

@Controller
@RequestMapping(value = "/default/Api")
public class XmlrpcServerController {

    @CrossOrigin
    @RequestMapping(method = RequestMethod.POST)
    public Object xmlrpc_api(@RequestBody String body) throws Exception {

        //get body
        System.out.println(body);

        //doing

        return result;
    }

#JSON信息的接收 除了我们要接收上面需求的xml文件以外,rest接收还应当包括其他对象。通过搜索发现需要通过ajax把json以data的形式进行发送。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Bootstrap 101 Template</title>

    <!-- Bootstrap -->
    <link href="http://localhost:8080/resources/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
    <script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
</head>
<body>
<h1>你好,世界!</h1>
<script type="text/javascript">
    function myFunction()
    {

        var json = "{ \"username\":\"admin\", \"password\":\"yanfa\" }";
        $.ajax({
            type:"POST",
            url:"http://localhost:8080/tactic/ticket",
            dataType:"json",
            contentType:"application/json",
            data:json,
            success : function(data) {
                alert("新增成功!" + data);
            },
            error : function(data) {
                alert(data)
            }
        });
    }
</script>

<a class="btn btn-default" role="button" onclick="myFunction()">Link</a>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="http://localhost:8080/resources/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</body>
</html>

© 著作权归作者所有

共有 人打赏支持
抢小孩糖吃

抢小孩糖吃

粉丝 67
博文 236
码字总数 229004
作品 0
东城
程序员
Spring跨域问题

spingMVC 3.X跨域 关于跨域问题,主要用的比较多的是cros跨域。 详细介绍请看https://developer.mozilla.org/zh-CN/docs/Web/HTTP/AccesscontrolCORS 但是,在springmvc+angularjs下支持跨域...

刘引惟
2016/11/17
26
0
Spring Boot点滴笔记

Spring Boot导入xml配置文件 使用Spring Boot后再也不想回到一堆xml配置的spring项目中了。但Spring boot有时候也避免不了需要xml配置文件。 可以在启动类中加入@ImportResource Spring Boot...

hutaishi
2017/11/01
0
0
Web Service 那点事儿(4)—— 使用 CXF 开发 REST 服务

现在您已经学会了如何使用 CXF 开发基于 SOAP 的 Web 服务,也领略了 Spring + CXF 这个强大的组合,如果您错过了这精彩的一幕,请回头看看这篇吧: [Web Service 那点事儿(2) —— 使用 ...

黄勇
2014/07/23
0
43
SpringBoot 实现前后端分离的跨域访问(CORS)

一、基本介绍 CORS是一种访问机制,英文全称是Cross-Origin Resource Sharing,即我们常说的跨域资源共享,通过在服务器端设置响应头,把发起跨域的原始域名添加到Access-Control-Allow-Orig...

Jokey2017
2017/11/14
0
0
Spring security ,spring WebSocket ,sockjs 跨域的认证失败?

服务端使用的是,spring boot socket 服务, 认证服务 spring security. 客户端是 stompjs. 服务端配置: @Configuration@EnableWebSocketMessageBroker@Order(1)public class WebSocketConfig ......

云舒丶丨
08/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SQL count(*) 和count(1)的区别

开发中经常会使用这两个聚合函数,作用都是用来统计记录行,今天查找资料发现,其实这两个函数并没有区别, 实践才是检验的标准,首先看执行计划(表是我自己建立的): 可以看到,两个执行计...

一曲图森破
22分钟前
1
0
ppwjs之bootstrap文字排版:字体设置

<!DOCTYPT html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>ppwjs欢迎您</title><link rel="icon" href="/favicon.ico" ......

ppwjs
24分钟前
1
0
区块链100讲:详解区块链之P2P网络

1 P2P网络 如果我们简单来看 P2P 技术,它的应用领域已经非常广泛了,从流媒体到点对点通讯、从文件共享到协同处理,多种领域都有它的身影出现。 同样的,P2P 的网络协议也有很多,比较常见的...

HiBlock
39分钟前
0
0
74.expect脚本同步文件以及指定host同步文件 构建分发系统文件和命令

20.31 expect脚本同步文件: 在expect脚本中去实现在一台机器上把文件同步到另外一台机器上去。核心命令用的是rsync ~1.自动同步文件 #!/usr/bin/expect set passwd "123456" spawn rsync -a...

王鑫linux
今天
1
0
TypeScript项目引用(project references)

转发 TypeScript项目引用(project references) TypeScript新特性之项目引用(project references) 项目引用是TypeScript 3.0中的一项新功能,允许您将TypeScript程序构建为更小的部分。 通过这...

durban
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部