jquery ajax从一个网站向另一个网站请求,怎么实现
1个回答
2015-06-23 · 百度知道合伙人官方认证企业
关注
展开全部
首先呢提醒下ajax是不能跨站点访问的,这个是不被允许的,如果实在需要,可以先发送ajax到本域名下的站点,然后再后台curl另一站点,服务器之间的curl通信是可以得,然后将curl的结果返回给页面
或者可以考虑使用JSONP。。。前提是另一个站支持JSONP请求。。
var jsonp = function (url, callback) {
if (typeof url=== 'undefined') {
throw 'the 1st param "url" missing';
}
if (typeof callback === 'undefined') {
throw 'the 2nd param "callback" missing';
}
var jsonpcallback = 'callback' + new Date().valueOf();
if (typeof callback !== 'string') {
window[jsonpcallback] = callback;
callback = jsonpcallback;
} else {
window[jsonpcallback] = function (data) {
eval(callback).call(window, data);
}
}
var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', url + (url.indexOf('?') == -1 ? '?' : '&') + 'callback=' + jsonpcallback);
var head = document.getElementsByTagName('head')[0];
head.appendChild(script);
}
通过
jsonp(url, callback)
调用
或者可以考虑使用JSONP。。。前提是另一个站支持JSONP请求。。
var jsonp = function (url, callback) {
if (typeof url=== 'undefined') {
throw 'the 1st param "url" missing';
}
if (typeof callback === 'undefined') {
throw 'the 2nd param "callback" missing';
}
var jsonpcallback = 'callback' + new Date().valueOf();
if (typeof callback !== 'string') {
window[jsonpcallback] = callback;
callback = jsonpcallback;
} else {
window[jsonpcallback] = function (data) {
eval(callback).call(window, data);
}
}
var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', url + (url.indexOf('?') == -1 ? '?' : '&') + 'callback=' + jsonpcallback);
var head = document.getElementsByTagName('head')[0];
head.appendChild(script);
}
通过
jsonp(url, callback)
调用
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |