跨域数据请求在一些公用环境中很有用处。实际中一些数据,不同的应用系统要进行展现或二次加工,可以把这些数据作成公用的数据服务器,对外提供访问数据的接口,客户端采用ajax的jsonp请求。
<div id="content2"></div>
<br/>
<div id="content3"></div>
<script type="text/javascript">
// function cd(){
// $.ajax({
// type : "GET",
// contentType:'application/json,charset=utf-8',
// url : "http://192.168.100.253:3297/Handler1.ashx",
// dataType : "jsonp",
// //jsonp和jsonpCallback两参数必须
// jsonp: "cb", //向跨域服务器发送jsonp的参数key
// jsonpCallback:"_", //向跨域服务器发送jsonp的参数key的值value
// success : function(json){
// if((json.rows).length!=0){
// $('#content2').html('total: 共'+json.total+'条记录, rows.0.sec_sname: '+(json.rows)[0].SEC_SNAME);
// var str = "";
// str += "<table class='abc' border='1'>";
// $.each(json.rows, function(i, item) {
// str += "<tr>";
// str += "<td>"+item.SEC_CODE+"</td>";
// str += "<td>"+item.SEC_SNAME+"</td>";
// str += "</tr>";
//
// });
// str += "</table>";
// $('#content3').html(str);
// }else{
// $('#content3').html('没有相关数据...');
// }
// },
// error:function(){
// alert('fail');
// }
// });
// }
function cd2(){
$.ajax({
type : "GET",
data: {start:'1',limit:'20',sf:'sec_code',sr:'asc'},
url : "http://192.168.100.253:2064/applhb/EverydayLhbAm.asmx/ajaxEverydayLhb",
dataType : "jsonp",
//jsonp和jsonpCallback两参数可以不要,在请求WebService时,会自动加callback参数在url后面
jsonp: "cb", //向跨域服务器发送jsonp的参数key
jsonpCallback:"_", //向跨域服务器发送jsonp的参数key的值value
success : function(json){
if((json.rows).length!=0){
$('#content2').html('total: 共'+json.total+'条记录, rows.0.sec_sname: '+(json.rows)[0].SEC_SNAME);
var str = "";
str += "<table class='abc' border='1'>";
$.each(json.rows, function(i, item) {
str += "<tr>";
str += "<td>"+item.RN+"</td>";
str += "<td>"+item.SEC_CODE+"</td>";
str += "<td>"+item.SEC_SNAME+"</td>";
str += "<td>"+item.CHNG_PCT+"</td>";
str += "<td>"+item.TRANS_TYPE+"</td>";
str += "<td>"+item.TRADEDATE+"</td>";
str += "</tr>";
});
str += "</table>";
$('#content3').html(str);
}else{
$('#content3').html('没有相关数据...');
}
},
error:function(){
alert('fail');
}
});
}
</script>
服务端:
String cb_val = Request.QueryString("cb); //获取到"cb"的值"_"
//构造返回的数据
String result = cb_val+"("+"{\"a\":\"1\",\"b\":\"2\"}"+")";
//返回客户端result
<pre>