Access-Control-Allow-Origin, IBM Bluemix
Я создаю сервис для добавления IOT-устройств в список. При отправке данных я получаю сообщение об ошибке:
Ответ на предварительный запрос не проходит проверку контроля доступа: в запрашиваемом ресурсе отсутствует заголовок "Access-Control-Allow-Origin"
Я пытался так:
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = cfunc;
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Authorization", "Basic " + auth);
xmlhttp.setRequestHeader('Content-type', 'application/json');
xmlhttp.setRequestHeader('Access-Control-Allow-Origin', '*');
xmlhttp.setRequestHeader('Access-Control-Allow-Methods', 'POST, GET, DELETE, PUT');
xmlhttp.setRequestHeader('Access-Control-Allow-Headers', 'x-requested-with,Content-Type');
xmlhttp.send(JSON.stringify(jsonString));
но ошибка повторялась, поэтому я попытался сделать это с той же ошибкой:
$.ajax({
type: 'POST',
url: 'https://pmhhdo.internetofthings.ibmcloud.com/api/v0002/bulk/devices/add',
headers: {
'Authorization': 'Basic ' + auth,
'Content-Type':'application/json',
'Access-Control-Allow-Origin': 'https://pmhhdo.internetofthings.ibmcloud.com',
'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS',
'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token'
},
withCredentials: true,
crossDomain: true,
data: jsonString,
dataType: 'json',
success : function(data) {
},
});
Есть идеи, что мне нужно сделать?
1 ответ
Похоже, вы пропустили "обмен сообщениями" из URL.
Попробуйте https://orgid.messaging.internetofthings.ibmcloud.com/
См. Документацию: https://console.ng.bluemix.net/docs/services/IoT/applications/api.html