| 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: 11 let
|
|||
0