ajax POST跨域请求完美解决

前端之家收集整理的这篇文章主要介绍了ajax POST跨域请求完美解决前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

方式:

js前端请求:

function getOcrInfo(imageData){
$.ajax({
url: 'http://localhost:8080/LSWS/ws/ocr/getWebImageRecognitionJsonStringByBase64Image',
type: 'post',
dataType:'json',
//async:false,
data: {
"imageData" : imageData
},
success:function(data){
if(data.flag==0){
var name=decodeURIComponent(data.name);
var position=decodeURIComponent(data.position);

}else{
FR.Msg.alert("错误提示","获取识别结果失败,请重试!");
}

},
error:function(data){
FR.Msg.alert("错误提示","获取识别结果失败,请重试!");
}
});

服务器后端:

@RequestMapping(value="/getWebImageRecognitionJsonStringByBase64Image",method = RequestMethod.POST)
@ResponseBody
public String getWebImageRecognitionJsonStringByBase64Image(HttpServletRequest request,HttpServletResponse response,String imageData) {
String result = "";
//System.out.println(imageData);
try{
WebImageRecognition gr = new WebImageRecognition();
result = gr.getWebImageRecognitionJsonObjectByBase64Image(imageData);

response.addHeader("Access-Control-Allow-Origin","*"); //用于ajax post跨域(*,最好指定确定的http等协议+ip+端口号)
response.setCharacterEncoding("utf-8");
//response.getWriter().write(result);
//response.getWriter().close();
}catch(Exception e){
e.printStackTrace();
logger.error("getGeneralRecognition:"+e);
result = "{\"flag\":\"1\",\"errorMessage\":\"server change error at OcrController!\"}";
}
return result;
}


注:跨域支持还可以使用CORS ,请参见:http://www.ruanyifeng.com/blog/2016/04/cors.html

猜你在找的Ajax相关文章