Искать  
 
   
 
AJAX на jQuery
Отправлено: 20 Январь 2009 02:22 A.M.   [ Игнорировать ]
Member
Avatar
RankRankRank
Всего сообщений:  153
Зарегистрирован  2008-08-19

Вообщем сталкнулся с проблемой:

Имеется 2 сайта site.ru и my.site.ru

Задача: получить AJAX’ом страничку my.site.ru/ff.php и вставить ее в div на сайт site.ru

Как я делаю ( site.ru - кусок ):

<div id="mydiv">загрузка контерна...</div>
[removed]
    
// Load Content
    
$("#mydiv").load("http://my.site.ru/ff.php");
[removed] 

Но в этом случае Firebug от Mozilla ругается и ничего не грузится:

uncaught exception: Access to restricted URI denied (NS_ERROR_DOM_BAD_URI)
[Break on this error] eval(function(p,a,c,k,e,r){e=function(c)...r|serialize|pixelLeft’.split(’|’),0,{}))

Погуглил - узнал по какую-то доменную защиту, но не разобрался как там согласовать всё?
Доступ есть и к тому и к тому сайтам.

ЗЫ: если получать контент с того же сайта site.ru - то все работает.

Профиль
 
 
Отправлено: 20 Январь 2009 09:40 A.M.   [ Игнорировать ]   [ # 1 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

никак - это ограничения ajax запросов для безопастности - они могут быть только в пределах одного сайта и поддомены - это разные сайты(даже с www. и без www в 99% случаев считает разными). Так что наверно придется делать на сайте site.ru ff.php, который  будет брать страницу с my.site.ru/ff.php.

 Подпись 

booooring…

Профиль
 
 
Отправлено: 20 Январь 2009 04:34 P.M.   [ Игнорировать ]   [ # 2 ]
Member
Avatar
RankRankRank
Всего сообщений:  153
Зарегистрирован  2008-08-19

да? странно, а я слышал о каком-то

header('Access-Control: allow site.ru'); 

только не врубил как с этим работать...

Профиль
 
 
Отправлено: 27 Январь 2009 07:00 A.M.   [ Игнорировать ]   [ # 3 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

Ваш пост? smile

 Подпись 

booooring…

Профиль
 
 
Отправлено: 27 Январь 2009 12:49 P.M.   [ Игнорировать ]   [ # 4 ]
Member
Avatar
RankRankRank
Всего сообщений:  153
Зарегистрирован  2008-08-19
Calm - 27 Январь 2009 07:00 A.M.

Ваш пост? smile

нет) но идея с cURL наверно самая правильная будет.

Профиль
 
 
Отправлено: 28 Январь 2009 03:05 P.M.   [ Игнорировать ]   [ # 5 ]
Member
Avatar
RankRankRank
Всего сообщений:  153
Зарегистрирован  2008-08-19

В продолжение темы, такой вопрос:
Кто знает, или хотябы догадывается почему тут AJAX работает только в Opera и Mozilla а вот IE6+IE7 напроч отказывается?
Код:

<html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>test</title>
[removed][removed]
</head>
<
body>
<
div id="kotirovki_div" class="kotirovki_div">  loading...  </div>
[removed]
$(document).ready(function() {
  alert(
"Hello!");

  $.
get("/index.php/static/test2", function(data){
    alert(
"Data Loaded: " data);
  
});

  $(
'div#kotirovki_div').load('/index.php/static/test2');
});
[removed]
</body>
</
html

подгружается документ /index.php/static/test2:

11111111111111111111 
Профиль
 
 
Отправлено: 30 Январь 2009 09:02 P.M.   [ Игнорировать ]   [ # 6 ]
Member
Avatar
RankRankRank
Всего сообщений:  153
Зарегистрирован  2008-08-19

ап. все еще актуально!

Профиль
 
 
Отправлено: 30 Январь 2009 09:10 P.M.   [ Игнорировать ]   [ # 7 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

Я не очень уверен но попробоуй прописать путь относительно скрпита, а не с http:// и слэш в конце убери

Профиль
 
 
Отправлено: 30 Январь 2009 10:52 P.M.   [ Игнорировать ]   [ # 8 ]
Member
Avatar
RankRankRank
Всего сообщений:  153
Зарегистрирован  2008-08-19
maximus007 - 30 Январь 2009 09:10 P.M.

Я не очень уверен но попробоуй прописать путь относительно скрпита, а не с http:// и слэш в конце убери

не, не помогло(

Профиль
 
 
Отправлено: 02 Февраль 2009 06:05 P.M.   [ Игнорировать ]   [ # 9 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

вот вроде готовое решение для кроссайтовых запросов AJAX Cross-Domain Solution: proxy.php

 Подпись 

booooring…

Профиль
 
 
Отправлено: 02 Февраль 2009 08:19 P.M.   [ Игнорировать ]   [ # 10 ]
Member
Avatar
RankRankRank
Всего сообщений:  153
Зарегистрирован  2008-08-19
Calm - 02 Февраль 2009 06:05 P.M.

вот вроде готовое решение для кроссайтовых запросов AJAX Cross-Domain Solution: proxy.php

за линк спасибо, крос браузерность не такая проблема, важнее вот эта.

Профиль
 
 
Отправлено: 02 Февраль 2009 09:41 P.M.   [ Игнорировать ]   [ # 11 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

а FireBug Lite под IE ставил?
Мне пока не понятно, почему там два запроса по get идет(по FireBug в FireFox показывает), хотя должен по идеи один...

p.s. а какая версия jQuery? + можно текст страницы test2…

 Подпись 

booooring…

Профиль
 
 
Отправлено: 03 Февраль 2009 12:08 A.M.   [ Игнорировать ]   [ # 12 ]
Member
Avatar
RankRankRank
Всего сообщений:  153
Зарегистрирован  2008-08-19
Calm - 02 Февраль 2009 09:41 P.M.

а FireBug Lite под IE ставил?

про такое не знал, поставил. но правдо ничего оно вообще в консоле не пишет(

Calm - 02 Февраль 2009 09:41 P.M.

Мне пока не понятно, почему там два запроса по get идет(по FireBug в FireFox показывает), хотя должен по идеи один...

потому что я их поставил 2, один get на алерт, другой load на загрузку контента в див.

Calm - 02 Февраль 2009 09:41 P.M.

p.s. а какая версия jQuery? + можно текст страницы test2…

эта информация ж есть уже (ссылка выше на test2)
а jquery ставить пробовал и старый и средний и самый последний. ЗЫ - тот что щас - самый стабильный.

Профиль
 
 
Отправлено: 03 Февраль 2009 12:48 A.M.   [ Игнорировать ]   [ # 13 ]
Member
Avatar
RankRankRank
Всего сообщений:  153
Зарегистрирован  2008-08-19

ппц.. знал бы жил бы... smile
Решение проблемы:
- открыть .htaccess
- закомментировать строчку:
#AddDefaultCharset utf8

Профиль
 
 
Отправлено: 03 Февраль 2009 01:03 A.M.   [ Игнорировать ]   [ # 14 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

хахха=))

Профиль
 
 
Отправлено: 03 Февраль 2009 01:12 A.M.   [ Игнорировать ]   [ # 15 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

да нет, “ха-ха” не это - ниже строчка, которую я написал, а потом удалил из предыдущего поста (в блокноте осталась), т.к. решил все еще раз перепроверить...
+Глянул на логи еще раз - по-моему, стоит удалить из хэддера ответа utf-8 из Content-Type. IE чувствителен к этому

в хэдерах шло charset=utf8 и такого написания IE не понимал. Сейчас charset=UTF-8 и все ок...
Попробуй раскомментировать в качестве эксперимента строчку, но написать UTF-8 вместо utf8

 Подпись 

booooring…

Профиль