JSONP處理跨域請求 --org.json
阿新 • • 發佈:2018-12-27
1, Ajax請求
(同一ip, 當前應用為8086埠, 要訪問的後端介面為8088埠, 出現跨域請求問題)
$.ajax({ url: 'http://10.171.1.34:8088/ssm_test/login.do', type: 'GET', dataType: 'JSONP', jsonp:"callback", //Jquery生成驗證引數的名稱 data: { name: _this.username, pwd: _this.password }, success: function (res) { console.log("登陸成功"); }, error: function (err) { console.log("返回出錯了"); } });
2, 對應後端介面處理
將返回資料封裝成callback函式格式, 結果資料result 需求進行JSON格式處理, 這裡需要用到org.json的jar包
//登陸 @RequestMapping("/login.do") @ResponseBody public Object guess(String name, String pwd, @RequestParam("callback") String callback){ boolean b = vueLoginService.login(name, pwd); System.out.println("b: " + b); JSONObject result = new JSONObject(); if(b){ result.put("state", "200"); result.put("data", "登陸成功"); return callback+"(" + result.toString() + ")"; } else { result.put("state", "999"); result.put("data", "登陸失敗"); return callback+"(" + result.toString() + ")"; } }
json-20180813.jar:
連結:https://pan.baidu.com/s/1YmMnUkCdMDFx9npbwIdNrA
提取碼:ukoo