ajax异域请求jsonp,前端ajax请求跨域,使用jsonp完美解决

news/2024/10/23 9:31:11/

【1】今天在html中ajax请求另外一个项目的接口出现跨域问题,好吧,那就想办法解决吧,网上百度了有jsonp解决方案,但是其中有各种坑(坑是因为自己不了解导致),直接上源码吧。。。。。。

【前端】

function showImg(){

$.ajax({

url:'http://localhost:8080/g',

type:'post',

data:{'f':'f'},

dataType: "jsonp",

jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)

jsonpCallback:"showData",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以不写这个参数,jQuery会自动为你处理数据

success: function(data){

console.log(data);

},

error:function(XMLHttpRequest, textStatus, errorThrown){

console.log("服务器异常");

alert(XMLHttpRequest.status);

alert(XMLHttpRequest.readyState);

alert(XMLHttpRequest.responseText);

alert(textStatus);

alert(errorThrown);

console.log(textStatus);

}

});

}

//回调函数

function showData (result) {

var data = JSON.stringify(result); //json对象转成字符串

console.log(data);

}

【Java后端】

@RequestMapping("/hello")

@ResponseBody

public void hello(HttpServletRequest request, String f,HttpServletResponse response) throws IOException{

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=UTF-8");

//这里写自己的逻辑过程

//前端传过来的回调函数名称

String callback = request.getParameter("callback");

MapresultMap = new HashMap();

resultMap.put("path", path);

//用回调函数名称包裹返回数据,这样,返回数据就作为回调函数的参数传回去了,callback()这个()里面放的是json格式

String str = callback + "(" + new Gson().toJson(resultMap) + ")";

response.getWriter().write(str);

}


http://www.ppmy.cn/news/941076.html

相关文章

ajax异域请求

一、jsonp与jsonpCallback 1.客户端请求代码 $.ajax( { type: "get", url: "http://domain/Handler.ashx", dataType: "jsonp", jsonpCallback: "cb", success: function (data, textStatus, jqXHR) { alert(data); …

ajax异域请求jsonp,[js]ajax-异源请求jsonp

ajax请求-解放每次手动输url js的XMLHttpRequest对象 我们使用XMLHttpRequest对象来发送一个Ajax请求 用xhr发一个ajax请求 因为我是webstorm,因此自带音响哈. 这里我们用ajax来请求这个接口,并将内容打印到console口 var xhr new XMLHttpRequest(); //1.创建xhr对象 xhr.open…

[2020年10月28日普级组]1404.最大异域和

最 大 异 或 和 最大异或和 最大异或和 题目解析 Code #include <cstdio> #include <iostream> #define ll long long using namespace std;int n; ll sum, ans, x, f[40];int main () {scanf ("%d", &n);f[0] 1;for (int i 1; i < 30; i)f[i…

Django做网页后端之解决Ajax的请求异域问题

最近学习了Django的框架嘛&#xff0c;写项目的时候&#xff0c;想前后端分离&#xff0c;就用Django做后端&#xff0c;遇到了典型的跨域问题&#xff0c;那么我的前端实力不够强&#xff0c;也不会用Ajax来解决这个跨域问题&#xff0c;于是着手于Django后端解决这个问题&…

手机获取linux内核权限,潘多拉实验室曝Linux内核漏洞 可获取最高权限

在谷歌正式发布Android 9 Pie系统后一个月后&#xff0c;9月20日&#xff0c;阿里安全潘多拉实验室再次曝出其Linux系统存在严重漏洞——WrongZone (异域)&#xff0c;该漏洞为内核漏洞&#xff0c;让若被不法分子掌握&#xff0c;可直接对Root授权&#xff0c;获得最高权限从而…

【10.28模拟赛T4】最大异域和【数论异或】

分析&#xff1a; 因为不能有两个 0 0 0 或两个 1 1 1 统计出每个数二进制下 1 1 1的个数 如果只有 1 1 1位 1 1 1则直接算 2 i 2^i 2i 要么则后面的都可以为 1 1 1 可以选 全部累加成 2 j 2^j 2j即可 CODE&#xff1a; #include<iostream> #include<cstdio> #i…

“影像新物种”小米11Ultra:深耕影像技术,小米用实力定义手机摄影发展趋势

2021年3月,小米召开了为期两天的春季新品发布会,正式发布小米11Ultra、小米11Pro、小米MIX FOLD三款旗舰手机。在发布会上,小米创始人雷军喊出了“拐点之战”的口号,认为手机影像与传统相机已经到了正面碰撞的时刻。小米做的,就是要用智能手机拯救不会拍照的你! 计算摄影、自研…

【SSL_2020.10.28】最大异域和

最大异域和 解题思路 由于我们可以选 0 0 0 ~ x i x_i xi​ 的所有数&#xff0c;所以如果有任意一位为 1 1 1 那么它后面都可以为 1 1 1。 code ll n,a[110],ans; ll t[50]; ll pow2[50],maxn;int main() {cin>>n;pow2[0]1;for(int i1;i<31;i)pow2[i]pow2[i-1]…