一种jsonp的实现方式
后端
/**
* 在Controller的返回类型上使用此注解,就会以ResponseInfo包装返回对象
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RestWrapper {
}
在方法前加
@RequestMapping(value = "/getresult", produces = MediaType.APPLICATION_JSON_VALUE)
@RestWrapper
前端js
window.callback = function (res) {
console.log(res.data.code);
//code:'0'失败,code:'200'成功
if ('200' == res.data.code) {
var pidData = res.data.data;
}
};
function query() {
var ticket = _openId;
var queryurl = "http://wcc.any.com/case/jsonp/getresult?ticket=" + ticket;
var k;
queryurl += "&callback=callback";
k = document.createElement("script");
k.setAttribute("src", queryurl);
k.onerror = onerror;
document.getElementsByTagName("head")[0].appendChild(k);
}
返回实例
{
"success": true,
"timestamp": 1537104061489,
"data": {
"msg": "fail",
"code": "0"
},
"url": "http://wcc.any.com/case/jsonp/getresult?ticket=kBkfgEifMUzSPlECdc"
}