2016-03-30 10 views
-3

Bir wifi ağına bağlanan ve bazı adresleri tarayıcı adres çubuğundaki aramalar yoluyla açabilen bir aygıtım var. Örneğin bu bağlantı rölesi 2 aktivasyonu içindir:Javascript HTTP İşlevi

192.168.71.1/io.cgi?DOA2 

Ben javascript ile bir düğme onPress olay bu çağrı ilişkilendirmek gerekir.

Yeni bir sekme açmadan bu adrese bir çağrı benzetmenin bir yolu var mı? işlev, kullanıcının görünmez olması gerekir.

Teşekkürler

+2

Nerelisin için JavaScript bekliyorsunuz? Zaten var olan bazı web uygulamasının bir parçası mı? – Pointy

+1

[javascript getirme] 'ye bakın (https://www.google.se/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=javascript%20fetch) veya [XMLHttpRequest] (https: // www .google.se/webhp? sourceid = chrome-instant & ion = 1 & espv = 2 & ie = UTF-8 # q = xmlhttprequest) veya şu şekilde adlandırılır: [ajax] (https://www.google.se/webhp?sourceid=chrome- instant & ion = 1 & espv = 2 & ie = UTF-8 # q = javascript + ajax) – Endless

+0

AJAX'e baktığınızda, arka planda bu URL'yi arayabilir ve ihtiyacınız olan herhangi bir işlemi gerçekleştirebilirsiniz. – Stuart

cevap

0

Böyle bir şey başlamanıza yardımcı olabilir mi? Not modern bir tarayıcı gerektirir.

JS

const buttons = document.querySelectorAll('.commandButton'); 
    Array.from(buttons).forEach(button => { 
    button.addEventListener('click',() => { 
     window.fetch('http://192.168.71.1/io.cgi?' + button.id); 
    }); 
    }); 

HTML

<button type="button" class="commandButton" id="DOA1">DOA1</button> 
<button type="button" class="commandButton" id="DOA2">DOA2</button> 

https://jsfiddle.net/btfgLz2k/

+0

Bunu denediğimde şu hatayı aldım: Fetch API'si http://192.168.1.76/io.cgi?DOA2=20 yüklenemiyor. İstenen kaynakta 'Erişim-Kontrol-İzin-Kökeni' başlığı yok. Kökeni 'http: // localhost: 63861' bu nedenle erişime izin verilmiyor. Yanıt, HTTP durum kodu 401'e sahipti. Eğer opak bir cevap ihtiyaçlarınızı karşılarsa, CORS devre dışıyken kaynağı almak için istek modunu 'no-cors' olarak ayarlayın. – Ale

+0

Yönlendiricinizin/uç noktanızın CORS'i desteklemediği görünüyor. Getirmek yerine JSONP kullanabilirsiniz. İyi bir örnek için jQuery JSONP'a bakın http://api.jquery.com/jquery.getjson/ – nekman