Междоменный запрос в Google Weather XML - PullRequest
0 голосов
/ 13 октября 2011

Я хочу получить google weather xml, используя вызов ajax, но получаю следующую ошибку:

405 Method not allowed

Выполнение междоменного вызова всегда было проблемой, я знаю, мы можемон использует jsonp, но API возвращает XML.

var weather= function(){

url = 'http://www.google.com/ig/api?weather=karachi';
var gurl = "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=" +escape( url);


/*SERVER CALL FOR CROSS DOMAIN*/
//ServerCallRAW('http://www.google.com/crossdomain.xml', function(_dataCD){

    //console.log(_dataCD);
    ServerCallXML(url, function(_dataAPI){

        console.log(_dataAPI);
    //});
});

};


function ServerCallXML(_url,callback) {
    $.ajax
    ({
        type: "GET",
        url: _url,
        dataType: 'xml',
        //contentType: "application/json; charset=utf-8",
        contentType: "text/xml; charset=iso-8859-1",
        async: false,
        //data: {'json':'{"username":"' + username + '", "password":"' + password + '"}'},
        success: function (result) {
            callback(result);
        }
    });
};

спасибо

1 Ответ

0 голосов
/ 13 октября 2011

Вы можете создать локальный прокси на вашем сервере, чтобы избежать междоменного запроса. То есть вы по сути создаете страницу, которая выполняет cURL (php) или HttpRequest (c # и т. Д.), А затем отображает содержимое cURL / HttpRequest в качестве ответа. В отличие от javascript (код на стороне клиента) серверы обычно не ограничиваются выполнением запросов только в одном домене.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...