使用jquery发布阅读googleapi响应的问题

时间:2011-04-18 07:07:49

标签: jquery web-services

我想使用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&region=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;
                });

            }
        });]

2 个答案:

答案 0 :(得分:2)

您需要使用的是用于跨域请求的JSONP:

  

如果URL包含字符串   “回调=?” (或类似的,如定义的   由服务器端API),请求   被视为JSONP。见   关于jsonp数据类型的讨论   $.ajax()了解更多详情。

答案 1 :(得分:0)

这是由相同的源策略引起的,这意味着您只能使用Ajax来获取具有相同源的URL(包括域,端口,协议)