Javascript 使用jquery和xml响应的跨域Post方法ajax调用

Javascript 使用jquery和xml响应的跨域Post方法ajax调用,javascript,ajax,jquery,javascript-events,Javascript,Ajax,Jquery,Javascript Events,我想使用post方法发送一个ajax请求,并将xml作为响应文本,是否可能,如果可能,请让我知道可能的方式 前 url : "http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate" data : {FromCurrency:"INR",ToCurrency:"AUD"} method : GET or POST 我需要使用ajax对此url做出响应。服务器似乎不支持CORS。然后您将无法通过ajax调用执行此操作,因

我想使用post方法发送一个ajax请求,并将xml作为响应文本,是否可能,如果可能,请让我知道可能的方式

url : "http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate"
data : {FromCurrency:"INR",ToCurrency:"AUD"}
method : GET or POST


我需要使用ajax对此url做出响应。

服务器似乎不支持CORS。然后您将无法通过ajax调用执行此操作,因为
同源策略

服务器似乎不支持CORS。然后,由于同一来源策略,您将无法使用ajax调用执行此操作。您可以在同一域的服务器上编写自己的脚本,该域请求webservicex.net并以您想要的任何格式返回数据


所以,ajax请求->您的服务器(在同一个域上)->webservicex.net

您可以在同一个域上的服务器上编写自己的脚本,该域向webservicex.net请求并以您想要的任何格式返回数据

因此,ajax请求->您的服务器(在同一个域上)->webservicex.net,您可以使用

var url='1〕http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=INR&ToCurrency=AUD'; // 你想刮的网站
var yql=http://query.yahooapis.com/v1/public/yql?q=“+encodeURIComponent('从xml中选择*,其中url=“+url+”)+”&format=json&callback=?”;
$.getJSON(yql,函数(数据){
if(data.query.results){
var result=data.query.results.double.content.replace(/]*>[\s\s]*?/gi',);
警报(结果);
}
});
您可以使用

var url='1〕http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=INR&ToCurrency=AUD'; // 你想刮的网站
var yql=http://query.yahooapis.com/v1/public/yql?q=“+encodeURIComponent('从xml中选择*,其中url=“+url+”)+”&format=json&callback=?”;
$.getJSON(yql,函数(数据){
if(data.query.results){
var result=data.query.results.double.content.replace(/]*>[\s\s]*?/gi',);
警报(结果);
}
});

如果它们支持
JSONP
,您可以添加该开关。不过,你必须学会怎么做。这还不算太糟。事实上,如果该站点没有
JSONP
feed,您可能会想要。当然,浏览器也必须支持它。如果没有JSONP,我们不能使用其他方法呈现内容吗???
CORS
。或者使用cURL之类的服务器路由代理。这是一个同源问题;我们也可以使用像Yahoo YQL这样的第三方代理。可以在YQL控制台中在几分钟内设置jsonp url如果他们支持
jsonp
,您可以添加该开关。不过,你必须学会怎么做。这还不算太糟。事实上,如果该站点没有
JSONP
feed,您可能会想要。当然,浏览器也必须支持它。如果没有JSONP,我们不能使用其他方法呈现内容吗???
CORS
。或者使用cURL之类的服务器路由代理。这是一个同源问题;我们也可以使用像Yahoo YQL这样的第三方代理。可以在YQL consolesecurity measure中在几分钟内设置jsonp url…如果您在dom中添加结果,并且它涉及
标记。我自己也不知道正则表达式,但它是从互联网上的某个地方复制的:)+1是的..我在…从未使用过它,但看起来是个好主意来实现…始终不知道YQL作为同一域策略的代理。现在我知道了+1安全性度量…如果要在dom中追加结果,并且它涉及
标记。我自己也不知道正则表达式,但它是从互联网上的某个地方复制的:)+1是的..我在…从未使用过它,但看起来是个好主意来实现…始终不知道YQL作为同一域策略的代理。现在我知道了+1.
var url = 'http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=INR&ToCurrency=AUD'; // website you want to scrape
var yql = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from xml 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);
    }
});