Reputation: 253
I'm trying to get access to education.com API data. However, I keep receiving an error the error states:
XMLHttpRequest cannot load http://api.education.com/service/service.php?f=schoolSearch&key=mykey&sn=sf&v=4&city=Atlanta&state=ga&Resf=json. Origin is not allowed by Access-Control-Allow-Origin.
My code is the following:
$(function(){
$.getJSON('http://api.education.com/service/service.php?f=schoolSearch&key=mykey&sn=sf&v=4&city=Atlanta&state=ga&Resf=json',
function(data) {
console.log(data);
});
});
Can someone help me please?
Upvotes: 24
Views: 86750
Reputation: 963
Not so much a solution to the problem, but a hack to avoid the problem -- start your browser without web-security:
in MacOS this would work as follows: cd to ../../Applications/Google\ Chrome.app/Contents/MacOS
then start the brwoser with the appropiate flag: Google\ Chrome --disable-web-security'
Note: Never use the browser for normal surfing, this is just to get you going in cases of emergencies! Cheers
Upvotes: 0
Reputation:
In ZF1 can be done as below:
public function indexAction() {
$turnkey = array(
"uris" => array("176.x.x:3478", "3478"),
"username" => "my_username",
"password" => "my_password"
);
$content = Zend_Json::encode($turnkey);
$this->getResponse()
->setHeader('Access-Control-Allow-Origin', "*")
->setHeader('Content-Type', 'application/json')
->setBody($content)
->sendResponse();
exit;
}
Upvotes: 1
Reputation:
You can't do this with a browser unless the education.com server is configured to allow CORS (Cross-Origin Resource Sharing
) requests (That's the Access-Control-Allow-Origin
bit).
Your server could make the request on your behalf, however, and you can then retrieve the data from there.
Upvotes: 2