For a school project I'm working with an Arduino Yùn module. I have one problem though for which I can't find a solution anywhere.
I'm sending HTTP GET requests to the Arduino. The Arduino receives the requests perfectly, so a get request to turn on an LED and return data does turn on the LED, but it isn't able to return correctly. In my JavaScript console I get the error: XMLHttpRequest cannot load http://192.168.0.234/arduino/digital/3/0. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access.
.
This is really frustrating and I can't seem to get it work.
When my computer is connected to the Arduino Yùn's own local network it should all work fine, but I want to connect the Arduino to my home network and then send the requests. I am missing the right authorization though for the 'Access-Control-Allow-Origin'.
What is a soltion for this?
I have tried adding this to the C code of my Arduino:
//headers
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: application/json");
client.println("Access-Control-Allow-Origin: *");
client.println();
// Send feedback to client
client.print(F("Pin D"));
client.print(pin);
client.print(F(" set to "));
client.println(value);
I keep getting the error though, even if I add this header.
I can't get my head around what could possibly be wrong and what could possibly be the solution. I really hope someone can enlighten me with their knowledge!
For completeness, how I do my calls (the success is never run):
var req = {
method: 'GET',
url: 'http://192.168.0.234/arduino/digital/' + lednr + '/' + status,
headers: {
'Content-Type': 'application/javascript'
}
};
$http(req).success(function() {
alert("GREAT SUCCESS!");
});
More simple version gives same error:
$http.get("http://192.168.0.234/arduino/digital/" + lednr + "/" + status);