我试图通过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。
答案 0 :(得分:2)
您正在尝试执行禁止操作:如果此类呼叫合法,则会打开安全漏洞,允许恶意代码以静默方式访问不需要的URL ...
答案 1 :(得分:1)
您需要了解same-origin-policy。您只能对您所在页面所在的主机进行ajax调用。有几种方法可以解决这个问题(比如使用JSONP),但是你必须编写并接受这些解决方法的局限性。