У меня есть веб-сервис Java REST, развернутый на tomcat (http://localhost:8080/myrestfulapp/aservice/).
В моем приложении qooxdoo я пытаюсь отправить запрос POST, используя qx.io.remote.Request. Я создал приложение и развернул его на HTTP-сервере Apache (с именем http://myserver.org). Когда я пытаюсь отправить запрос, я получаю эту ошибку в консоли javascript моего веб-браузера (Chrome в Linux): Origin http//myserver.org не разрешен Access-Control-Allow-Origin.
Я добавил crossdomain.xml в веб-приложение ROOT tomcat, в /var/www и в корневой каталог моего http-сервера. Я включил заголовки apache (заголовки a2enmod) и добавил Access-Control-Allow-Origin «*» в файл конфигурации моего сервера.
вот моя функция qooxdoo, отправляющая запрос:
envoyer : function(id, nom, prenom, poste)
{
var url = "http://localhost:8080/helloworld/enregistrer";
var donnees = "{ \"id\":" + id + ", \"nom\":\"" + nom + "\", \"prenom\":\"" + prenom + "\", \"poste\":\""+poste +"\" }";
alert(donnees);
var req = new qx.io.remote.Request(url, "POST", "application/json");
req.setData(donnees);
req.addListener("completed", function(e) {
alert(e.getContent());
});
req.send();
}
а вот файл конфигурации myserver.org: ServerAdmin webmaster@localhost serverName myserver.org
DocumentRoot /home/jihedamine/HttpServer
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/jihedamine/HttpServer/>
Header set Access-Control-Allow-Origin "*"
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
So how could I enable sending cross origin http requests from a qooxdoo app to a java backend deployed on tomcat ?