Ajax + java 跨域访问Json

使用jsonp跨域获取json数据。Ajax获取JAVA服务器json数据。

在Servlet 中代码:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     response.setHeader("Access-Control-Allow-Origin", "*");//开启CORS,支持跨域访问
    //TODO

}

HTML代码:

  Jquery.Ajax 或 Jquery.getJSON

//$.ajax
$.ajax({
  type:"get",
  async:false,
  url:"http://localhost:8080/AjaxServlet",
  datatype:"jsonp",
  jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
  success:function(data){
    alert(data);
  },error:function(err){
    alert("failed");
  }
});

//$.getJSON
    $.getJSON("http://localhost:8080/AjaxServlet?callback=?",function(result){
	 console.log(result);
   });

  

  AngulgrJs的$http.jsonp

<div ng-app="myApp" ng-controller="namesCtrl">

<p>循环对象:</p>
<ul>
  <li ng-repeat="x in person | orderBy:‘country‘">
    {{ x.Name + ‘, ‘ + x.Country }}
  </li>
</ul>

</div>

<script type="text/javascript">
	angular.module(‘myApp‘,[]).controller(‘namesCtrl‘,function($scope,$http){
			$http.jsonp(‘http://localhost:8080/AjaxServlet?callback=JSON_CALLBACK‘).success(function(data){
                $scope.person = data.records;
            }).error(function(err){
                alert(‘error:‘+err);
			});
	});
</script>

  

详细代码:http://download.csdn.net/detail/oofgdoo/9393325

时间: 2024-10-10 12:40:35

Ajax + java 跨域访问Json的相关文章

JQuery+ajax+jsonp 跨域访问

Jsonp(JSON with Padding)是资料格式 json 的一种“使用模式”,可以让网页从别的网域获取资料. 关于Jsonp更详细的资料请参考http://baike.baidu.com/view/2131174.htm,下面给出例子: 一.客户端 Html代码   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.

js,java,ajax实现跨域访问及其原理

http://blog.csdn.net/saytime/article/details/51540876 这篇文章对跨域访问做了较为细致得分析,我这里做下简单总结 1.实现跨域访问原理: 浏览器由于同源策略不能做跨域访问,但是<script>标签是开放策略能够跨域访问,所以突破口就是通过<script>来实现跨域访问获得其他地方得json数据 jsonp模式: JSONP(JSON with Padding)是JSON的一种"使用模式",可用于解决主流浏览器的

java跨域访问问题记录

跨域访问记录 package com.alphasta.zsbs.servlet; import java.io.BufferedReader;import java.io.IOException;import java.io.OutputStream;import java.io.PrintWriter;import java.net.URLDecoder;import java.util.Map; import javax.servlet.ServletException;import ja

jquery ajax CORS 跨域访问 WebService

JS代码: var word = document.getElementById("word").value; $.ajax({ type: "POST", contentType: "application/x-www-form-urlencoded", url: "http://localhost:12805/WebService.asmx/HelloWorld", data: 'data=' + word, dataTy

ASP.NET MVC &amp; WebApi 中实现Cors来让Ajax可以跨域访问 (转载)

什么是Cors? CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing).它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制.本文详细介绍CORS的内部机制. 一.简介 CORS需要浏览器和服务器同时支持.目前,所有浏览器都支持该功能,IE浏览器不能低于IE10. 整个CORS通信过程,都是浏览器自动完成,不需要用户参与.对于开发者来说,CORS通信与同源的AJAX通信没有差别,代

解决jquery ajax在跨域访问post请求的时候,ie9以下无效(包括ie9)的问题

最近在做项目的时候遇到一个问题,就是跨域请求ajax的时候ie9以下的浏览器不可以访问,直接执行error里面的代码,但是也不报错,就上网查了查,发现了一个很好用的方法,在这里记录一下,也希望可以帮到大家. 第一步:设置浏览器安全属性,启用[通过域访问数据源]选项: 1.选择Internet选项 2.选择安全---自定义级别 3.找到其他---通过域访问数据源,选择启用,然后确定就可以了. 第二步:调用ajax方法时,设置crossDomain为相反的值.原文链接:https://bugs.jq

ajax 设置Access-Control-Allow-Origin实现跨域访问

ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全. 即使使用jquery的jsonp方法,type设为POST,也会自动变为GET. 官方问题说明: “script”: Evaluates the response as JavaScript and returns it as plain text. Disables caching by appending a query string

Ajax跨域访问

Ajax如何跨域访问数据 最近在做项目的过程中遇到的问题,一个网站需要访问另外一个网站的数据,并且是通过脚本的方式,而由于同源策略的限制,开发人员不能再与外部服务器进行通信的时候使用XMLHttpRequest.而JSONP是一种可以绕过同源策略的方法,即通过使用JSON与<script>标记相结合的方法,从服务器端直接返回可执行的JavaScript函数或者JavaScript对象.目前JSONP已成为大部分公司的Web应用程序跨域首选,尽管JSONP是一个非官方的协议,关于JSONP的介绍

AJAX POST&amp;跨域 解决方案 - CORS

跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免的需要进行跨域操作,所以跨域能力也算是前端工程师的基本功之一. 和大多数跨域的解决方案一样,JSONP也是我的选择,可是某天PM的需求变了,某功能需要改成支持POST,因为传输的数据量比较大,GET形式搞不定.所以折腾了下闻名已久的CORS(跨域资源共享,Cross-Origin Resource