美文网首页
Jfinal解决AJAX的跨域请求

Jfinal解决AJAX的跨域请求

作者: ccq_inori | 来源:发表于2017-12-17 12:08 被阅读0次

JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。

一开始使用AJAX来传输json数据时,在本机上还是可以实现的,但是没法给url给其他人调用并且传输数据。
然后发现jsonp可以解决跨域请求(这应该是就是我寻找的)。
JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。
由于没有两台电脑,所以我选择了两种工具(Eclipse和myEclipse)来对AJAX的跨域请求进行回应.。
前端是在myEclipse上书写,后台在Eclipse上书写.
首先是前端:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <div id="myDiv"><h2>这里是myeclipse的页面</h2></div>
     <button type="submit">提交</button>
    <script src="http://code.jquery.com/jquery-1.11.3.js"></script>
    <script>
    $('button').click(function(){
       $.ajax({
              type:'get',
              url:'http://localhost/submit',
              data:{
                username:'123456',
                password:'456789',
                name:'xiaoming',
                remark:'无'
              },
              dataType:'jsonp',
              contentType:'application/x-www-form-urlencoded;charset=UTF-8',
              async:false,
              cache:false,
              success:function(response){
              //扩展回调函数  
                alert(response.res),
                $('h2').text('成功回应跨域请求')
              },
              error:function(){
                //处理异常数据...
                alert(0)
              }
});
    })
    </script>
</body>
    
</html>

接下来是controller

    public void submit()
    {
        System.out.println(getPara("username"));
        System.out.println(getPara("password"));
        System.out.println(getPara("name"));
        System.out.println(getPara("remark"));
        getResponse().addHeader("Access-Control-Allow-Origin", "*");
        Map json=new HashMap();
        json.put("status",0);   
        json.put("res",true);
        String callback = getRequest().getParameter("callback"); 
        String jsonp = callback+"("+ JsonKit.toJson(json)+")";//返回的json 格式要加callback()
        renderJson(jsonp);      
    }

总结:发现学习后台,你还要基本掌握一些前端技术和框架,起码先自己先玩熟先,不然到了真正做项目的时候,真的来不及,要懂得前端的数据是以什么形式来传输到后台的,你又怎么回应前端的请求。

相关文章

  • Jfinal解决AJAX的跨域请求

    JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单...

  • ajax跨域请求

    ajax跨域请求(jsonp) 利用JSONP解决AJAX跨域问题的原理与jQuery解决方案JSONP jQue...

  • 跨域

    什么是跨域? 为什么会发生ajax跨域?浏览器限制跨域【发出的请求不是本域】XHR请求【json】 解决思路:1:...

  • 解决ajax跨域问题

    Jsonp解决ajax跨域问题 CORS解决ajax跨域问题

  • 跨域CORS

    CORS全称是跨域资源共享(Cross-Origin Resource Sharing),用来解决AJAX跨域请求...

  • 跨域产生的原因及解决办法

    1、跨域产生的原因及解决办法 2、JONP 与 ajax请求的区别 1⃣️请求方式不同: ajax请求Type...

  • webpack+vue+axios 环境下的跨域问题

    问题 在项目中向后端进行 ajax 请求时,出现游览器阻止跨域请求的问题。 引入 axios,并解决跨域 axio...

  • 14-vue-cli脚手架配置代理

    1. 问题:如果解决前端的 ajax 请求跨域的问题 首先可以发送 ajax 请求的方法有哪些? xhr js自带...

  • 彻底让你明白跨域(服务器端为node)

    跨域只是针对ajax请求的。 如果产生跨域,那么将请求不到数据。 发起ajax请求所依赖的html页面的url地址...

  • Ajax跨域完全理解

    1. AJAX跨域完全问题的原因 浏览器出于安全考虑,特定限制 请求是跨域的 请求方式是XHR请求 2. 解决思路...

网友评论

      本文标题:Jfinal解决AJAX的跨域请求

      本文链接:https://www.haomeiwen.com/subject/gygswxtx.html