Warning: preg_match(): Compilation failed: invalid range in character class at offset 4 in /home2/tbinforo/public_html/cicerone/wp-content/plugins/lightbox-plus/classes/shd.class.php on line 1384
Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home2/tbinforo/public_html/cicerone/wp-content/plugins/lightbox-plus/classes/shd.class.php on line 700
Warning: foreach() argument must be of type array|object, null given in /home2/tbinforo/public_html/cicerone/wp-content/plugins/lightbox-plus/classes/shd.class.php on line 707
Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home2/tbinforo/public_html/cicerone/wp-content/plugins/lightbox-plus/classes/shd.class.php on line 700
Warning: foreach() argument must be of type array|object, null given in /home2/tbinforo/public_html/cicerone/wp-content/plugins/lightbox-plus/classes/shd.class.php on line 707
In javascript, pentru apelurile de Ajax.Request (de exemplu din libraria Prototype) cu un URL extern am obtinut execeptie si nu am stiu de ce.
Exista o politica numita “Same Origin Policy” care tine de securitate, astfel apelurie prin Ajax se pot face doar pentru url-urile de pe domeniul propriu. Binenteles ca exista si alternative care sa sara peste aceasta politica, chiar in documentatia de prototype.
Exemplu de cod cu exceptie:
<script type=”text/javascript”>
var postParams = { name: ‘bbb’, valoare: ‘ccc’};
request = new Ajax.Request(‘http://www.google.ro/un/exemplu/de/url/’, {
method: ‘post’, postBody: postParams,
onSuccess: function(response) { alert(‘OK ‘ + response.getResponseHeader());},
on404: function() { alert(‘404’);},
onFailure: function() { alert(‘eroare de Ajax’); },
onUninitialized: function() { alert(‘eroare de onUninitialized’); },
onLoading: function() { alert(‘eroare de onLoading’); },
onLoaded: function() { alert(‘eroare de onLoaded’); },
onInteractive: function() { alert(‘eroare de onInteractive’); },
onComplete: function() { alert(‘eroare de onComplete’); },
onException: function(req,exception) { alert(‘eroare de onException.’); document.getElementById(‘errConsole’).innerHTML = exception;}
});</script>
Exceptia obtinuta a fost: “Permission denied to call method XMLHttpRequest.open“.
Pentru solutii la acesta problema puteti cauta termeni ca “cross domain ajax” sau sa cititi un articol din Ajaxian.
Sper sa va ajute si exemplul de mai sus, caci am cautat un pic mai mult o sintaxa la evenimentul onException.