#javascript
#javascript
Вопрос:
проблема в том, что когда я хочу получить ответ от сервера, он выдает null
//url of web service
url="http://www.google.com/ig/calculator?hl=enamp;q=12INR=?GBP"
var xmlHttp=new xmlHttpRequest();
//object of xml request
xmlHttp.open('GET', url, true);
//get method
xmlHttp.onreadystatechange = function(){
try{
if (xmlHttp.readyState != 4)
return;
alert(xmlHttp.responseXML);
var result = xmlHttp.responseXML.documentElement;
var jsonString = result.childNodes[0].nodeValue;
var result1 = jsonParse(jsonString);
alert(result1.rhs);
document.getElementById('results').innerHTML = innerHTML;
}
catch(e1){alert("erroe=" e1);}
};
xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlHttp.send(null);
}
Ответ №1:
Вы не можете выполнить вызов AJAX для www.google.com если ваша страница уже не обслуживается с www.google.com домен.
https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript
Комментарии:
1. тогда что я должен сделать в этом случае??? пожалуйста, объясните подробно или вы можете опубликовать какой-либо соответствующий пример для этого, чтобы я мог получить ответ от сервера…
2. Конечно, вините парней, которые создали раздражающую политику того же источника. 🙂 В любом случае, лучшим вариантом действий было бы либо поиск альтернативного calculator API (например, у Google maps есть JSONP javascript API, который не использует AJAx и работает через SOP), либо вы могли бы вместо этого отправить этот запрос на свой собственный сервер, делать там все, что вы хотите, а затем возвращать результаты.
3. это не решение проблемы. Я должен использовать этот веб-сервис любым способом, используя только java script, а не jquery или что-либо еще
4. @KushalpalSingh вы спрашиваете, как сделать что-то невозможное, а затем жалуетесь, когда кто-то предлагает альтернативу? Это кажется недальновидным. Но в любом случае есть 2 вещи: 1) jQuery — это Javascript, и 2) вы написали с ошибкой
XMLHttpRequest
.5. @Dan спасибо за ответ, но до сих пор я не понимал проблему, если я не могу использовать этот веб-сервис, тогда какой смысл в этом веб-сервисе. Я могу получить ответ, когда вызываю это с помощью java.