jsonp 跨域访问的一些常见问题

1. 366yw.com/test/flightResult.php  我出现的错误  :

返回的数据格式不对,应该返回的格式为: callback(data)callback是回掉函数名,data 是回调的数据。不知道哪位大神知道如何使用 字符串进行回调,不使用json 。免去在服务器端把callback 函数名拼接上去。

2. http://www.cnblogs.com/snowinmay/p/3200705.html  一个很好的例子

http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html  对比上面的例子

3. http://www.cnblogs.com/cocowool/archive/2009/05/21/1486307.html

var urlPre = "http://www.corsproxy.com/"; //跨域中转
		var url1 = "http://172.16.73.81:8088/xmldata.aspx";
		var url2 = "http://172.16.73.81:8088/json.aspx";
		var url21 = "http://localhost:8090/json/index";
		var url3 = "www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?UserID=";
		var _data = {};
		 /* $.get(urlPre+url21,_data,function(data){
			alert(data);
		});  */ 
		$.ajax({
		     type: 'GET',
		     dataType: 'jsonp', 
		     url: url21,
		     jsonp: 'callback',
		     jsonpCallback:"",
		     data: _data ,
		    /*  beforeSend: function(){ 
		    	//jsonp 方式此方法不被触发.原因可能是dataType如果指定为jsonp的话,就已经不是ajax事件了 
		    	alert("before");
		    }, */
		     success: function(json){
		    	alert(json);
		     },
		     error: function(xhr){ 
		    	//jsonp 方式此方法不被触发.原因可能是dataType如果指定为jsonp的话,就已经不是ajax事件了 
		    	//请求出错处理 
		    	alert(xhr); 
		    	console.log(xhr);
		    } 
		});


总结:最关键的是,服务端也要拼接一下回调函数;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值