Autor | Zpráva | ||
---|---|---|---|
apkdev Profil * |
#1 · Zasláno: 12. 9. 2015, 19:40:23
Dobrý den, potřeboval bych pomoci s tímto kódem problém je v tom že když to načte "" (nic, počet načtených znaků = 0) tak to provede akci
alert("None"); a pokud se nebude rovnat "" (počet znaků >0) tak to načte obsah, ale bohužel to z nějakého důvodu nejede.
myslím si že problém je v této části kódu: $.ajax({ url: your_url, type: 'GET', success: function(res) { var text = res.responseText; // then you can manipulate your text as you wish if(text = ""){ alert("None"); } else { document.getElementById("text").innerHTML = text; }, } }); Zde je celý kód : <p id="text"></p> <script type="text/javascript"> var your_url = 'http://www.example.com'; </script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" ></script> <script type="text/javascript"> // jquery.xdomainajax.js ------ from padolsey jQuery.ajax = (function(_ajax){ var protocol = location.protocol, hostname = location.hostname, exRegex = RegExp(protocol + '//' + hostname), YQL = 'http' + (/^https/.test(protocol)?'s':'') + '://query.yahooapis.com/v1/public/yql?callback=?', query = 'select * from html where url="{URL}" and xpath="*"'; function isExternal(url) { return !exRegex.test(url) && /:\/\//.test(url); } return function(o) { var url = o.url; if ( /get/i.test(o.type) && !/json/i.test(o.dataType) && isExternal(url) ) { // Manipulate options so that JSONP-x request is made to YQL o.url = YQL; o.dataType = 'json'; o.data = { q: query.replace( '{URL}', url + (o.data ? (/\?/.test(url) ? '&' : '?') + jQuery.param(o.data) : '') ), format: 'xml' }; // Since it's a JSONP request // complete === success if (!o.success && o.complete) { o.success = o.complete; delete o.complete; } o.success = (function(_success){ return function(data) { if (_success) { // Fake XHR callback. _success.call(this, { responseText: data.results[0] // YQL screws with <script>s // Get rid of them .replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi, '') }, 'success'); } }; })(o.success); } return _ajax.apply(this, arguments); }; })(jQuery.ajax); $.ajax({ url: your_url, type: 'GET', success: function(res) { var text = res.responseText; // then you can manipulate your text as you wish if(text = ""){ alert("None"); } else { document.getElementById("text").innerHTML = text; }, } }); </script> |
||
lionel messi Profil |
apkdev:
Operátor = znamená == .
|
||
mimochodec Profil |
#3 · Zasláno: 12. 9. 2015, 20:08:53
V češtině se pro = používá pojem přiřazení, to by mohlo být k pochopení jednodušší.
|
||
apkdev Profil * |
#4 · Zasláno: 12. 9. 2015, 20:10:20
Již jsem tuto chybu opravil, ale stále to nejede.
|
||
lionel messi Profil |
mimochodec:
„V češtině se pro = používá pojem přiřazení“ Aj v slovenčine, myslel som na jedno a napísal druhé, vďaka za postreh. :-) apkdev: „Již jsem tuto chybu opravil, ale stále to nejede.“ Čo sa stane, keď podmienku upravíš takto? if(text.length == 0){ alert("None"); } V prípade, že nebude fungovať, vypíš si alert(text); , aby si vedel, čo máš v premennej.
|
||
_es Profil |
apkdev:
A to máš v premennej your_url naozaj ' ? Pre cudziu doménu obvykle AJAX nefunguje.
|
||
Chamurappi Profil |
#7 · Zasláno: 14. 9. 2015, 10:54:46
Reaguji na _es:
„Pre cudziu doménu obvykle AJAX nefunguje.“ Proto tam má ten skript, který žene komunikaci skrz Yahoo. Ono totiž nabízí zdarma službu, která umí stáhnout data z cizí domény a vrátit je jako JSONP (nebo jako XML nebo JSON s CORS hlavičkami). Na první pohled se YQL tváří jako takový zvláštní databázový jazyk, kterým se jde pohodlně napojit na různá API, ale schopnost stáhnout a vrátit obsah libovolné stránky je na něm asi jediná zajímavá. (Už jsem se s tím hodně nablbnul.) |
||
_es Profil |
#8 · Zasláno: 14. 9. 2015, 12:05:41
[#7] Chamurappi:
Mylne som sa nazdával, že ide o štandardnú metódu z jQuery. apkdev: Za blokom else je nadbytočná čiarka. To asi spôsobuje chybu.
|
||
Časová prodleva: 9 let
|
0