Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   запрос на другой сайт XMLHttpRequest (https://javascript.ru/forum/css-html-internet-explorer/43859-zapros-na-drugojj-sajjt-xmlhttprequest.html)

vscorpion 24.12.2013 08:54

запрос на другой сайт XMLHttpRequest
 
Здравствуйте, не работает функция на ie7, пишет отказано в доступе...везде перерыл, делал как говорили ничего не помогает...

помогите пожалуйста.

/* функция создания запроса */
	obj.getXmlHttp = function(){
		if (typeof XMLHttpRequest === 'undefined') 
		{
			XMLHttpRequest = function() {
				try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); }
				catch(e) {}
				try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); }
				catch(e) {}
				try { return new ActiveXObject("Msxml2.XMLHTTP"); }
				catch(e) {}
				try { return new ActiveXObject("Microsoft.XMLHTTP"); }
				catch(e) {}
				throw new Error("This browser does not support XMLHttpRequest.");
			};
		}

		return new XMLHttpRequest();
	}

	/* функция отправки запроса */
	obj.getUrl = function(_url, _paramstr) {
//		netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
//		var xmlhttp = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
//		document.domain = "sdaver.ru";
		var xmlhttp = obj.getXmlHttp();
		xmlhttp.open("POST", _url + _paramstr, true);
		/* отправляем асинхронный запрос */
		xmlhttp.setRequestHeader('Access-Control-Allow-Origin', '*');
//		xmlhttp.setRequestHeader('User-Agent','XMLHTTP/1.0');
//		xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
		xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
		xmlhttp.setRequestHeader("Cache-Control", "no-cache");
//		xmlhttp.setRequestHeader('If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT');
		xmlhttp.onreadystatechange = function() {
			try{
				if (xmlhttp.readyState == 4 || xmlHttp.readyState=="complete") {
///					if(xmlhttp.status == 200) {
					alert(_url+_paramstr);
//			        	}
				}
			} 
			catch(e) {}
		}
		xmlhttp.send(null);
		alert(xmlhttp.getAllResponseHeaders())
	}


		obj.getUrl(obj._url, obj._params);

ksa 24.12.2013 09:14

Цитата:

Сообщение от vscorpion
запрос на другой сайт XMLHttpRequest

http://learn.javascript.ru/xhr-crossdomain

При кроссдоменном запросе важен не только сам запрос... Но и собственно формирование ответа сервером.

vscorpion 24.12.2013 09:38

не понял, что Вы имели ввиду, поподробнее.

ksa 24.12.2013 09:41

Цитата:

Сообщение от vscorpion
что Вы имели ввиду, поподробнее

При кроссдоменности мало "особенно" спросить... Нужно еще и "особенно" ответить.
По ссылке, что я привел выше, все написано...

Запрос на JS будет везде одинаков... А вот ответ сервера будет зависеть от серверных языков...

ksa 24.12.2013 09:45

Вот пример ответа для СУБД Cache...

<script language='cache' runat='server'>
	d %response.SetHeader("Access-Control-Allow-Origin","*")
	d %response.SetHeader("Access-Control-Allow-Methods","GET, PUT, POST, DELETE, OPTIONS")
	d %response.SetHeader("Access-Control-Max-Age","1000")
	d %response.SetHeader("Access-Control-Allow-Headers","Content-Type, Authorization, X-Requested-With")
	s taskNS=$g(%request.Data("taskNS",1))
	zn taskNS
	&html<-#(taskNS)#->
	s mvrNS=$g(^mvr,"mvr")
	s view=$g(%request.Data("view",1))
	s table=$g(%request.Data("table",1))
	s page=$g(%session.Data(table_view_"Page"))
	&html<#(page)#,>
	d DATA^|mvrNS|mvr.sys.csp.list(view,table)
</script>

vscorpion 24.12.2013 10:01

так у меня также, у меня не работает только в IE7, в остальных браузерах все пашет, даже в ie9 и выше пашет.
уже и политики безопасности в браузере поправил и нифига

vscorpion 24.12.2013 13:43

проблема еще актуальна

nice_try 24.12.2013 13:57

тут выход из ситуации заключается в удалении ie7, это решает миллион проблем, после этого восстанавливается самооценка и мир играет новыми красками

vscorpion 24.12.2013 14:44

:))) я на нем не сижу - задание такое у меня именно на ie7, хз зачем но всеже

vscorpion 24.12.2013 16:46

up


Часовой пояс GMT +3, время: 20:16.