- 需求
- 遇到的问题
- 解决办法
需求
今天项目需要访问一个外部链接获取数据,是跨域的。使用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;
时间: 2024-10-07 17:02:33