ajax 跨域请求之jsonp
- 需求
- 遇到的问题
- 解决办法
需求
今天项目需要访问一个外部链接获取数据,是跨域的。使用ajax 请求一直提示:
遇到的问题
1. 如何使用ajax 跨域请求数据
2. 能不能post请求
解决办法
- 经过网上查找资料,能使用jsonp请求跨域数据。
- jsonp请求数据只能get,不支持post跨域请求
使用方法,见代码:
$.ajax({
type: "post",//这里写post也没用,也是get请求
url: "url",
dataType: "jsonp",
data:"q=xx&categoryId=0&brandId=0",//参数
jsonp: "callback",
jsonpCallback:"jsonpCallback",
success: function(json){
alert(‘json:‘ + json);
},
error: function(){
alert(‘fail‘);
}
});
PHP端代码(即请求url端):
$callback = Input::get("callback");
$v1="1";
$v2="2";
$response = "{\"value1\":\"" + $v1 + "\",\"value2\":\"" + $v2 + "\"}";
$call = $callback . "(" + $response + ")";
return $call;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。