В общем первый раз пишу на javascrypt (да и с вебом раньше не связывался).
Попытался написать скрипт для получения баланса wex. Но не могу разобраться с api что то (или не с ним).
И следующие проблемы
ответ такой приходит
{success: 0, error: "api key not specified"} error: "api key not specified" success: 0Может кто подскажет как надо? Погуглил примеры запросов, но как то не нашел ошибку(
Плюс к этому в консоли хрома:
Failed to load https://wex.nz/tapi: Response to preflight request doesn't pass access control check:
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
Собственно код:
<script type="text/javascript">
/* Данная функция создаёт кроссбраузерный объект XMLHTTP */
function getXmlHttp() {
var xmlhttp;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function test() {
var key = 'тут ключ';
var secret = 'тут секрет';
var xmlhttp = getXmlHttp(); // Создаём объект XMLHTTP
xmlhttp.open('POST', '
https://wex.nz/tapi', true); // Открываем асинхронное соединение
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); // Отправляем кодировку
xmlhttp.setRequestHeader('Access-Control-Allow-Origin', '*');
xmlhttp.setRequestHeader('Access-Control-Allow-Methods', 'POST,GET');
xmlhttp.setRequestHeader('Access-Control-Allow-Headers', 'origin, content-type, accept');
xmlhttp.setRequestHeader("Key", key); // Отправляем кодировку
var message = "method=getInfo&nonce=1118"; // пока что вручную нонсы изменять)
var encrypted = CryptoJS.HmacSHA512(message, secret).toString(CryptoJS.enc.hex);
xmlhttp.setRequestHeader("Sign", encrypted );
xmlhttp.send(encrypted); // Отправляем POST-запрос
xmlhttp.onreadystatechange = function() { // Ждём ответа от сервера
if (xmlhttp.readyState == 4) { // Ответ пришёл
if(xmlhttp.status == 200) { // Сервер вернул код 200 (что хорошо)
document.getElementById("summa").innerHTML = xmlhttp.responseText; // Выводим ответ сервера
}
}
};
}
</script>