Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Kolemjdoucí 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
$("#vysledek").load("http://192.168.0.100/var1");
HTML
<div id="vysledek"></div>
Děkuji
-
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 (http://stackoverflow.com/questions/247483/http-get-request-in-javascript)
-
http://www.ajax-cross-domain.com/ (http://www.ajax-cross-domain.com/)
-
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 (http://stackoverflow.com/questions/247483/http-get-request-in-javascript)
Myslíš tohle ?
$.get(
"somepage.php",
{paramOne : 1, paramX : 'abc'},
function(data) {
alert('page content: ' + data);
}
);
Jestli ano to nefunguje, načte to jen lokální soubory...
-
http://www.ajax-cross-domain.com/ (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..
-
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/ (http://www.ajax-cross-origin.com/)
-
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á...
<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>
-
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.
-
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..
-
"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
-
tím si to dovolím celé uzavřít..
Jo, tak nazdar... a ty nám taky.
-
Jo, tak nazdar... a ty nám taky.
Jenom tobě, poradit nikdy neumíš a jen všude machruješ... ZERO!