我必须创建一个必须进入公共URL的函数,它将返回一个纯文本。
根据我的要求进行验证。
我尝试使用dojo ajax get方法创建它,但由于它是一个不同的域,它将无法工作(仅在Explorer上)。
如何拨打外部域并管理答案。
网址将是这样的。
http://my.socket:8080/?option1=1&option2=2
它可以是ajax,也可以只是java类。
答案 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);
}
});