3

我必须创建一个必须进入公共 url 的函数,它会返回一个纯文本至极。

根据这一点,我将进行验证。

我尝试使用 dojo ajax get 方法来实现它,但由于它是一个不同的域,它不会工作(仅在资源管理器上)。

我如何向外部域发出呼叫并管理答案。

网址将是这样的。

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

它可以是 ajax 或只是一个 java 类。

4

2 回答 2

2

ajax is working on client side which means you are not able to make foreign domain ajax calls due to http://en.wikipedia.org/wiki/Same_origin_policy

it will be good technique if you write that GET call in your applications server side and make ajax call to your application which will act as gateway and fetch data from remote server

于 2012-10-06T14:58:54.650 回答
0

由于同源策略,您不能跨域进行简单的 ajax 调用。

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

或者你可以使用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);
    }
});

参考

于 2012-10-06T15:04:15.577 回答