JSONP实现Ajax跨域请求(java版)

本文探讨了前端使用jQuery进行跨域请求时遇到的问题。通过一个具体的例子展示了JSONP的工作原理,解释了为何必须使用预定义的回调函数(如success_jsonpCallback)来避免语法错误。当不提供该回调函数时,前端会接收到JSON数据而非预期的函数调用,导致Uncaught SyntaxError。同时,文章也揭示了JSONP在解决AJAX跨域限制中的作用。
摘要由CSDN通过智能技术生成

跨域请求
前端代码

$.ajax({
	 url:"http://localhost:8080/project/login",
	 dataType:'jsonp',
	 method: 'POST',
	 data : {
		 userName : 'abcd',
		 password : '123456'
	 },
	 jsonp:"callback",
     jsonpCallback:"success_jsonpCallback",
	 success:function(result) {
 		console.info(result);       
     },
	 error: function(XMLHttpRequest, textStatus, errorThrown) {
		console.info(XMLHttpRequest.status);
		console.info(XMLHttpRequest.readyState);
		console.info(textStatus);
     },
 });

java:

JSONObject object = new JSONObject();
....
return "success_jsonpCallback("+object.toString()+")"; 

如果不加上success_jsonpCallback --这个是自己定义的,则返回json的话,前端无法接收。报错:Uncaught SyntaxError: Unexpected token :

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山月神话

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值