Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Отправка HTTP запросов через ВКонтакте API [AJAX] |

10.11.2009, 22:47
|
|
Участник форума
Регистрация: 20.04.2007
Сообщений: 174
Провел на форуме: 2310282
Репутация:
149
|
|
Отправка HTTP запросов через ВКонтакте API [AJAX]
Не актуально!
Хочу, используя API ВКонтакте, отсылать GET и POST запросы.
Но получается не очень...
Вот часть index.html (находится на локальной тачке, все пути на скрипты изменены на абсолютные)
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" id="vkontakte">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<title>В Контакте | Добро пожаловать</title>
<link rel="stylesheet" href="http://vkontakte.ru/css/rustyle.css?37" type="text/css" />
<script src="http://vkontakte.ru/js/common.js?63"></script>
<script type="text/javascript" src="http://vkontakte.ru/js/lang0_1000.js?722"></script>
<script type="text/javascript" src="http://vkontakte.ru/js/lib/ui_controls.js?23"></script>
<link rel="stylesheet" href="http://vkontakte.ru/css/ui_controls.css?10" type="text/css" />
<link rel="shortcut icon" href="http://vkontakte.ru/images/favicon.ico" />
<script src="http://vkontakte.ru/js/niftycube.js?1"></script>
<script type="text/javascript">
var base_domain = 'http:/';
var links_visibility = 0;
var css_versions = {privacy_css: 5};
(function(){
var loadFn = function(){
Nifty("ul.tabs a", "small top");
Nifty("ul.buttonRow a", "small");
Nifty("div.leftAd","small transparent");
Nifty("div.selPad","small transparent");
Nifty("div.myPad", "small transparent");
placeholderSetup('qinput');
};
//addEvent(window, 'load', loadFn);
onDomReady(loadFn);
})();
</script>
...
...
Если на этой странице я вставляю в URL:
javascript:Ajax.Get({url:'mail.php',query:{act:'wr ite',to:1},onDone: function(ajaxObj,responseText){}});
то запрос не проходит. Если этот запрос сделать на странице http://vkontakte.ru/index.php, то запрос отлично проходит.
В чем проблема?
P.S. Часть common.js (ВК)
Код:
...
...
function Ajax(onDone, onFail, eval_res){
var _t = this;
this.onDone = onDone;
this.onFail = onFail;
var tram = null;
try { tram = new XMLHttpRequest(); }
catch(e) { tram = null; }
if (!tram) {
try { if(!tram) tram = new ActiveXObject("Msxml2.XMLHTTP"); }
catch(e) { tram = null; }
}
if (!tram) {
try { if(!tram) tram = new ActiveXObject("Microsoft.XMLHTTP"); }
catch(e) { tram = null; }
}
var readystatechange = function(url, data) {
if(tram.readyState == 4 ) {
if(tram.status >= 200 && tram.status < 300) {
if(eval_res) parseRes();
if( _t.onDone ) _t.onDone(extend(_t, {url: url, data: data}), tram.responseText);
} else {
if( _t.onFail ) _t.onFail(extend(_t, {url: url, data: data}), tram.responseText);
}
}
};
var parseRes = function(){
if(!tram || !tram.responseText)return;
var res = tram.responseText.replace(/^[\s\n]+/g, '');
if(res.substr(0,10)=="<noscript>")
{
try{
var arr = res.substr(10).split("</noscript>");
eval(arr[0]);
tram.responseText = arr[1];
}catch(e){
debugLog('eval ajax script:' + e.message);
}
}else{}
};
this.get = function(u, d, f){
tram.onreadystatechange = function(){ readystatechange(u, d); };
f = f || false;
var q = (typeof(d) != 'string') ? ajx2q(d) : d;
u = u + (q ? ('?'+q) : '');
tram.open('GET', u, !f);
tram.setRequestHeader("X-Requested-With", "XMLHttpRequest");
tram.send('');
};
this.post = function(u, d, f){
tram.onreadystatechange = function(){ readystatechange(u, d); };
f = f || false;
var q = (typeof(d) != 'string') ? ajx2q(d) : d;
try {
tram.open('POST', u, !f);
} catch(e) {
debugLog('ajax post error: '+e.message);
}
tram.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
tram.setRequestHeader("X-Requested-With", "XMLHttpRequest");
tram.send(q);
};
}
...
...
Последний раз редактировалось GlooK; 11.11.2009 в 02:50..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|