Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了天易38----sturts2+jsonp的使用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

一:百度介绍:@H_197_1@

JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于@L_197_2@主流浏览器的跨域数据访问的问题。由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的<script> 元素是一个例外。利用 <script> 元素的这个开放策略,网页可以得到从其他来源动态产生的 JSON 资料,而这种使用模式就是所谓的 JSONP。用 JSONP 抓到的资料并不是 JSON,而是任意的JavaScript,用 JavaScript 直译器执行而不是用 JSON 解析器解析
@H_197_1@

二:前端使用:@H_197_1@

<script type="text/javascript">@H_197_1@

function test(){@H_197_1@

$.ajax({@H_197_1@

type: "post",
dataType:'jsonp',
jsonp:'callBACk',
data : $('#register_formId').serialize(),
url:'http://192.168.191.1:8080/H5Web/menushowmanage/menushowmanage/jsonpTest?
callBACk=?',
success:function(data){
if(data.result_code=="200"){
alert("您的操作执行成功!");
}else{
alert("操作失败")
}
},error:function(XMLhttprequest,textStatus,errorThrown) {
alert("404");
alert(XMLhttprequest.status);
alert(XMLhttprequest.readyStatE);
alert(textStatus);
alert(XMLhttprequest.responseText);
}
});
}
</script>
@H_197_1@

三:后端示例@H_197_1@

private String callBACk;//前端jsonp动态生成函数名称
@H_197_1@

/**
* get与set方法
*/
@H_197_1@

public String getCallBACk() {
return callBACk;
}
public void setCallBACk(String callBACk) {
this.callBACk = callBACk;
}
@H_197_1@

/**
* jsonp使用方法
*/
public void jsonptest(){
System.out.println("---url:"+url+"--callBACk:"+callBACk);
Gson gson=Constants.GSON;
BaseRes bs=new BaseRes();
bs.setResult_code(successCode.CLIENT_success.getResult());
this.print(callBACk+"("+gson.toJson(bs)+")");//jsonp返回格式,callBACk表示前端jsonp提交后台的一组随机方法,但callBACk名称要和前端保持一致
}
@H_197_1@

返回前端页面jsonp的格式:@H_197_1@

jQuery18007564855464734137_1431501866366({"result_code":"200"})
@H_197_1@

其中jQuery18007564855464734137_1431501866366是通过前端随机生成传递后台的callBACk值@H_197_1@

大佬总结

以上是大佬教程为你收集整理的天易38----sturts2+jsonp的使用全部内容,希望文章能够帮你解决天易38----sturts2+jsonp的使用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。