Http进入外部网址

时间:2012-10-06 14:53:33

标签: java javascript ajax

我必须创建一个必须进入公共URL的函数,它将返回一个纯文本。

根据我的要求进行验证。

我尝试使用dojo ajax get方法创建它,但由于它是一个不同的域,它将无法工作(仅在Explorer上)。

如何拨打外部域并管理答案。

网址将是这样的。

http://my.socket:8080/?option1=1&option2=2

它可以是ajax,也可以只是java类。

2 个答案:

答案 0 :(得分:2)

ajax正在客户端工作,这意味着您无法进行外部域ajax调用 归因于http://en.wikipedia.org/wiki/Same_origin_policy

如果你在应用服务器端编写GET调用,这将是一个很好的技术 并对您的应用程序进行ajax调用,该应用程序将充当网关并从远程服务器获取数据

答案 1 :(得分:0)

由于源策略相同,您无法跨越跨域执行简单的ajax调用。

您可以ajax调用您自己的服务器页面,该页面位于同一个域中,该页面可以执行HTTP get并获取内容。

或者您可以使用YQL

var url = 'http://my.socket:8080/?option1=1&option2=2'; // website you want to scrape
var yql = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from html where url="' + url + '"') + '&format=json&callback=?';  
$.getJSON(yql,function(data){  
    if(data.query.results){
        var result = data.query.results.double.content.replace(/<script[^>]*>[\s\S]*?<\/script>/gi, '');
        alert(result);
    }
});

Reference