springboot jsonp 跨域請求,springboot使用jsonp跨域
================================
©Copyright 蕃薯耀 2020-11-25
https://www.cnblogs.com/fanshuyao/
* spring框架4.1加入jsonp配置,在5.1時,刪除不再建議使用該方式,而是使用:CORS
* CORS地址:https://docs.spring.io/spring/docs/5.0.x/spring-framework-reference/web.html#mvc-cors
springboot cors實現見:https://www.cnblogs.com/fanshuyao/p/14030944.html
一、Java配置
import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.servlet.mvc.method.annotation.AbstractJsonpResponseBodyAdvice; import com.szpl.gtkj.cghj.workflow.controller.FlowTaskController; /** * spring框架4.1加入jsonp配置,在5.1時,刪除不再建議使用該方式,而是使用:CORS * CORS地址:https://docs.spring.io/spring/docs/5.0.x/spring-framework-reference/web.html#mvc-cors * */ @ControllerAdvice(basePackageClasses = FlowTaskController.class) public class JsonpConfig extends AbstractJsonpResponseBodyAdvice{ /** * 聲明構造方法 */ public JsonpConfig() { super("callback", "jsonp"); } }
二、前端調用
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jsonp請求</title> <script type="text/javascript" src="js/jquery-3.4.1.min.js"></script> <script type="text/javascript" src="js/json3.min.js"></script> <script type="text/javascript" src="js/base.js"></script> </head> <body> <div>jsonp請求</div> <div>訪問:http://127.0.0.1:7010/gtkjCghj/static/cross.html</div> <div>只能使用get方法</div> <script type="text/javascript"> function ajax(){ console.log("ajax()"); $.ajax({ //async: false,//設置為同步,默認為異步(一般不需要) url : "http://lqy.com:7010/gtkjCghj/workflow/processes?gxDocNo=f2-202000234", type : "get", dataType : "jsonp", jsonp : "callback", complete : function(XMLHttpRequest, textStatus){ //alert("textStatus="+textStatus); }, error : function(XMLHttpRequest, textStatus, errorThrown){ if("error" == textStatus){ alert("服務器未響應,請稍候再試"); }else{ alert("請求失敗,textStatus="+textStatus); } }, success : function(data){ if(data != null){ console.log("jsonp data===" + JSON.stringify(data)); }else{ alert("返回結果為空!"); } } }); }; ajax(); </script> </body> </html>
總結:cors跨域請求解決方案(建議采用方案1)
1、springboot CORS 跨域請求解決三大方案,springboot CorsFilter解決跨域問題
https://www.cnblogs.com/fanshuyao/p/14030944.html
2、cors-filter使用,cors-filter解決跨域訪問,cors-filter跨域請求
https://www.cnblogs.com/fanshuyao/p/14036848.html
3、org.ebaysf.web的cors-filter使用,cors-filter跨域請求
https://www.cnblogs.com/fanshuyao/p/14042293.html
4、java tomcat-catalina CorsFilter使用,apache tomcat-catalina CorsFilter使用
https://www.cnblogs.com/fanshuyao/p/14042420.html
5、springboot jsonp 跨域請求,springboot使用jsonp跨域
https://www.cnblogs.com/fanshuyao/p/14034014.html

(如果文章對您有幫助,歡迎捐贈,^_^)
================================
©Copyright 蕃薯耀 2020-11-25
https://www.cnblogs.com/fanshuyao/
