AJAX将表单提交到远程URL并从XML响应中提取URL

我是JavaScript和Ajax的新手。

我有一个表单,它发布到远程URL并返回包含一些数据和URL的XML响应。 我需要提取URL并重定向到XML响应中的URL。

这是我的表格

XML响应是

 AcceptedLendingStreamhttp://redirecttothisURL.com/testing.htm6524845 

经过一些研究后,看起来Jquery最好这样做但是我很困惑,如果它发布到远程URL会因浏览器不允许而产生问题。

任何帮助或想法将不胜感激。

谢谢

是的,由于相同的原始政策限制,您无法使用javascript来执行此请求。 您可以编写一个服务器端脚本,该脚本将执行获取远程资源的请求,然后对您域上的此服务器端脚本使用AJAX请求,该脚本将带来XML并允许您解析它。

显然,根据您使用的服务器端语言,可能有不同的方法来实现它。

但是如果你想使用jQuery,那么在你的域上设置这个服务器端脚本之后就很容易了。 您只需使用$.ajax()方法:

 $.ajax({ url: '/url_to_your_server_side_script_that_serves_as_a_bridge', success: function(xml) { alert($('Result', xml).text()); } }); 

这是一个现场演示 。

是的,所有ajax调用都必须与您的网页位于同一个域中; 浏览器禁止您使用或不使用jQuery对远程地址进行ajax调用。

最常见的方法是使用简单的代理。 您调用自己的代理(位于您的域中),代理会创建对远程地址的Web请求,并在返回时,代理将该结果转发给您的ajax请求的回调。 代理基本上只是一个愚蠢的中间人。

您也可以使用JSONP来解决这个问题 ,但必须为此设置远程端。

Silverlight也可以帮助你解决这个问题,但同样,另一端必须为此设置; 他们必须有一个clientaccesspolicy.xml文件。

我同意jQuery是一个很好的方法,我最近发现这个非常方便的插件,它允许您从其他网站检索数据。 也许你可以这样抓住url然后再使用它?

http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/