通过JQuery调用Web服务时出现问题

时间:2012-02-17 09:41:06

标签: jquery

我试图通过JQuery Ajax以下列格式调用外部Web服务

$.ajax({
          url: "<web-service URL>",
          cache: false,
          success: function(html){
          alert( "Called");
                  }
            });

但它会抛出一个找不到404 error的说法页面。

我通过用以下

替换URL来修改Ajax调用
$.ajax({
          url: "http://www.google.com",
          cache: false,
          success: function(html){
          alert( "Called");
                  }
            });

但是我仍然得到404 Error,URL字符串看起来像这样

http://localhost:8081/Application/root/www.google.com?_=1329471109853"

无法理解为什么将google.com网址附加到localhost

任何人都可以告诉我我做错了什么,我想做的就是在后台调用外部Web服务URL。

2 个答案:

答案 0 :(得分:2)

您正在尝试执行禁止操作:如果此类呼叫合法,则会打开安全漏洞,允许恶意代码以静默方式访问不需要的URL ...

答案 1 :(得分:1)

您需要了解same-origin-policy。您只能对您所在页面所在的主机进行ajax调用。有几种方法可以解决这个问题(比如使用JSONP),但是你必须编写并接受这些解决方法的局限性。