jquery 之 ajax 跨域请求-后端替java
jquery 之 ajax 跨域请求-后端为java
jquery 之 ajax 跨域请求-后端为java
前段写法:
$.ajax({ async: false, url: "后端请求的url", type: "GET", dataType: 'jsonp', jsonp: 'jsonpcallback', data: "", timeout: 5000, complete: function(XMLHttpRequest, textStatus) { if (textStatus == "error") { layer.open({ content: '请求出错(网络异常.)', style: 'background-color:rgb(230, 30, 43); color:#fff; border:none;', time: 2 }); } } });
function jsonpcallback(response) { if (!$.isEmptyObject(response)) { //获取返回的数据 } };
java后端:
1.后端正常返回 json 数据,但不是直接返回,需通过jsp 中转一下,jsp 内容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% //jsonStr:是后台返回的json数据 //jsonpcallback :必需与前端的jsonp: 'jsonpcallback',一致 String jsonResult = (String)request.getAttribute("jsonStr"); out.println("jsonpcallback("+jsonResult+")"); %>