Jquery修改所有请求的url

时间:2014-01-09 04:59:20

标签: javascript jquery

对于$ .get和$ .post我想将网址转换为'http://www.corsproxy.com/'+ url.replace(“https://”,“”)如何覆盖get和post来执行此操作?

通过这个例子:

$.get('http://blockchain.info/address/1HbUnKwQVYmyao1aMpWHVCGrpuTndTeuec?format=json', function(data) {
    WS.log(data.final_balance);
});

我希望$ .get将http://blockchain.info/address/1HbUnKwQVYmyao1aMpWHVCGrpuTndTeuec?format=json更改为http://www.corsproxy.com/blockchain.info/address/1HbUnKwQVYmyao1aMpWHVCGrpuTndTeuec?format=json

2 个答案:

答案 0 :(得分:-1)

??奇怪的要求。无论如何:

更换网址:

url.replace("http://", "http://www.corsproxy.com/");

如果你把它包装在一个函数中:

function corsify(url){
   return url.replace("http://", "http://www.corsproxy.com/");
}

所以不要这样:

$.get(url, ...);

你会这样做:

$.get(corsify(url), ...);

建议覆盖$.get$.post方法。

干杯

答案 1 :(得分:-1)

你可以通过覆盖$.get& $.post方法如下:

var oPost = jQuery.post;
jQuery.post = function() {
    arguments[0] =  'http://www.corsproxy.com/' + arguments[0].replace("http://", "").replace("https://", "");
    return oPost.apply(this, arguments);
};

$.post('http://www.google.co.in', function(d){ /* take action */});