JavaScript - získání hodnoty

Kolemjdoucí

JavaScript - získání hodnoty
« kdy: 28. 10. 2015, 15:35:39 »
Dobré odpoledne,

Info:
mám HW který má svou IP adresu, 192.168.0.100. Když v prohlížeči zadám http://192.168.0.100/var1 tak dostanu výsledek 1234. Když se podívám do zdrojové stránky, není tam žádné html, jen to 1234. Na jiném serveru mám html stránku <div id="vysledek"></div>

Dotaz:
můžu v tom div-u pomocí JS zobrazit tu honotu 1234 z toho co vrací ten odkaz http://192.168.0.100/var1 ?

Zkoušel jsem to takto:

JS
Kód: [Vybrat]
$("#vysledek").load("http://192.168.0.100/var1");
HTML
Kód: [Vybrat]
<div id="vysledek"></div>

Děkuji
« Poslední změna: 28. 10. 2015, 21:44:47 od Roman Bořánek »


Žirafa

Re:JS - Získání hodnoty
« Odpověď #1 kdy: 28. 10. 2015, 19:05:49 »
Takže tvoje otázka zní, jak dostat hodnotu pomocí HTTP GET požadavku a uložit jí do proměnné v JS.

Doporučuji použít tu druhou odpověď pomocí JQuery:

http://stackoverflow.com/questions/247483/http-get-request-in-javascript

Radil

Re:JS - Získání hodnoty
« Odpověď #2 kdy: 28. 10. 2015, 19:18:20 »

Kolemjdoucí

Re:JS - Získání hodnoty
« Odpověď #3 kdy: 28. 10. 2015, 19:23:30 »
Takže tvoje otázka zní, jak dostat hodnotu pomocí HTTP GET požadavku a uložit jí do proměnné v JS.

Doporučuji použít tu druhou odpověď pomocí JQuery:

http://stackoverflow.com/questions/247483/http-get-request-in-javascript

Myslíš tohle ?

Kód: [Vybrat]
$.get(
    "somepage.php",
    {paramOne : 1, paramX : 'abc'},
    function(data) {
       alert('page content: ' + data);
    }
);

Jestli ano to nefunguje, načte to jen lokální soubory...

Kolemjdoucí

Re:JS - Získání hodnoty
« Odpověď #4 kdy: 28. 10. 2015, 19:30:53 »
http://www.ajax-cross-domain.com/
Tohle použití je mi k ničemu, webserver ze kterého chci získat data musí mít veřejnou ip adresu i když se jedná o domácí síť a jak webserver tak prohlížeč jsou v této stejné síti..


Žirafa

Re:JS - Získání hodnoty
« Odpověď #5 kdy: 28. 10. 2015, 20:33:47 »
Ok, druhý pokus:

javascript cross domain request

Tohle jsem nikdy nepotřeboval, ale možná to jde udělat iv JS:

http://www.ajax-cross-origin.com/

Kolemjdoucí

Re:JS - Získání hodnoty
« Odpověď #6 kdy: 28. 10. 2015, 21:08:04 »
Tak mám to takto, včetně souboru jquery.ajax-cross-origin.min.js, který je ve stejném adresáři jako tento soubor.html a nic to nedělá...
Kód: [Vybrat]
<html>
<head>
  <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
  <script type="text/javascript" src="jquery.ajax-cross-origin.min.js"></script>
</head>

<body>

<select id="service">
  <option value="http://ip.jsontest.com/">IP Address</option>
  <option value="http://headers.jsontest.com/">HTTP Headers</option>
  <option value="http://date.jsontest.com/">Date & Time</option>
  <option value="http://echo.jsontest.com/key/value/one/two">Echo JSON</option>
  <option value='http://validate.jsontest.com/?json={"key":"value"};'>Validate</option>
  <option value="http://code.jsontest.com/">Arbitrary JS Code</option>
  <option value="http://cookie.jsontest.com/">Cookie</option>
  <option value="http://md5.jsontest.com/?text=[text%20to%20MD5]">MD5</option>
</select><br/>
<input type="text" id="url" style="width: 400px">
<input type="button" id="btn" value="Get JSON">
<br/><br/>
<div id="test" />

<script type="text/javascript">
$(function() {
  $( '#service' ).on( 'change', function(){
    $( '#url' ).val( $( this ).val() );
  });

  $( '#url' ).val( $( '#service' ).val() );

  $( '#btn' ).click(function(){
    var url = $( '#url' ).val()

    $.ajax({
      crossOrigin: true,
      url: url,
      success: function(data) {
        $( '#test' ).html(data);
      }
    });
  });
});
</script>

</body>
</html>

Re:JavaScript - získání hodnoty
« Odpověď #7 kdy: 28. 10. 2015, 23:17:44 »
Jak tak koukám, javascript ani HTTP moc neznáš. Možná by bylo nejlepší místo toho pinpongu (návrh řešení -> nefunguje) nejdřív poslat, co opravdu vrací ten požadavek http://192.168.0.100/var1 (včetně headrů), třeba pomocí:
curl -v  http://192.168.0.100/var1

Pak se můžeme bavit dál.

Kolemjdoucí

Re:JavaScript - získání hodnoty
« Odpověď #8 kdy: 29. 10. 2015, 15:43:00 »
Jaký pinkpong, všechny odpovědi jsem zdůvodnil.. Můžu použít JSONP nebo Access-Control-Allow-Origin nebo stejnou doménu nebo PHP.
JSONP - potřebuje vracet výsledek ve funkci (pro mě je to nemožné, jelikož výstup mám na pevno bez možnosti editace)
Access-Control-Allow-Origin - No Comment
Stejná doména - nevyhovující
PHP - nemám

Děkuji všem za snahu a tím si to dovolím celé uzavřít..

neruda

Re:JavaScript - získání hodnoty
« Odpověď #9 kdy: 29. 10. 2015, 16:41:40 »
"Jestli ano to nefunguje, načte to jen lokální soubory..."

pro přístup z js na cizí server X je potřeba na serveru X povolit:
http://enable-cors.org/server_apache.html

Antičobol

Re:JavaScript - získání hodnoty
« Odpověď #10 kdy: 29. 10. 2015, 16:53:14 »
tím si to dovolím celé uzavřít..

Jo, tak nazdar... a ty nám taky.

Kolemjdoucí

Re:JavaScript - získání hodnoty
« Odpověď #11 kdy: 29. 10. 2015, 18:32:14 »
Jo, tak nazdar... a ty nám taky.
Jenom tobě, poradit nikdy neumíš a jen všude machruješ... ZERO!