我想使用jQuery函数来获取Web服务响应,但是获取错误405说不允许使用方法。当我在Web浏览器中复制粘贴相同的字符串时,我得到的xml结果没有错误。下面是我正在使用的代码
[
var arr= new Array();
var loopCounter = 0;
alert("Before Ajax")
$.ajax({
type: "GET",
url: "http://maps.googleapis.com/maps/api/directions/xml?origin=ajax&destination=toronto®ion=ca&avoid=tolls&sensor=false",
dataType: "xml",
success: function(xml) {
alert("I am working");
$(xml).find('distance').each(function() {
arr[loopCounter] = $(this).find('text').text();
alert("Some Value Of Distance = "+arr[loopCounter]);
loopCounter += 1;
});
}
});]
答案 0 :(得分:2)
您需要使用的是用于跨域请求的JSONP:
如果URL包含字符串 “回调=?” (或类似的,如定义的 由服务器端API),请求 被视为JSONP。见 关于jsonp数据类型的讨论 $.ajax()了解更多详情。
答案 1 :(得分:0)
这是由相同的源策略引起的,这意味着您只能使用Ajax来获取具有相同源的URL(包括域,端口,协议)