jsonP跨域解决

解决跨域问题的时候,用到jsonp,前端代码仅仅在url中添加一个参数callback=?
<html>
<head>
    <script type="text/javascript" src="/js/jquery-1.8.3.js"></script>
    <script type="text/javascript">

        $(document).ready(function(){

            $("button").click(function(){
//在url的后面添加参数:callback=?,问好的值有jQuery产生随机数
,配置后在本地可以通过该链接访问链接后的Controller,并且接收Controller的返回值。
                $.getJSON("/updateUser?name=donaldDuck&callback=?",function(data,status){
                           // alert("数据:" + data[0].userName + "\n状态:" + status);
                           // var dataObj=eval("("+data+")");

                            alert(data.id);

                        });

            });
        });
    </script>
</head>

<body>
<p>姓名:<input type="text" id="test" value="米老鼠"></p>
<br>

<button id="button" >显示值</button>
</body>

</html>
controller后端代码
<pre class="java" name="code">@ResponseBody
    @RequestMapping("/updateUser")
//在参数列表中添加正常接收的参数外,还需要添加一个参数callback,用来接收在前端带过来的callback随机数。
    public String   updateUser(String name,String callback) throws IOException {

     
        //返回简单字符串的时候可以直接返回,返回类型String,// 添加注解@ResponseBody
返回字符串的格式为:jsonp :jQuery183017739112760886932_1438865715964({"id":"a"}),括号括起来json数据       
        String aa= callback+"({\"id\":\"a\"})";
        System.out.println("jsonp :"+aa);
        return aa;

    }

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...