2013-08-21 2 views
0

У меня есть два веб-сайта а именно:Доступ файл JSon из другого домена

www.siteone.com 
www.sitetwo.com 

Теперь я должен отображать данные в www.siteone.com, получая данные через скрипт из www.sitetwo.com Поскольку у меня есть, чтобы получить конкретные данные, я передаю переменную от www.siteone.com до www.sitetwo.com, как это:

//script in www.siteone.com 
<script type="text/javascript"> 
    $(document).ready(function(){ 
     window.$vars = { 
      id:"form" 
     }; 
</script> 

в www.sitetwo.com, у меня есть следующий сценарий:

//script in www.sitetwo.com 
<script type="text/javascript"> 
var k = window.$vars.id; 
$("#form").dform("http://www.sitetwo.com/"+k+'.json', function(data) { 

      this 
      data 

     }); 
</script> 

Здесь значение «id», которое я передаю с сайта на сайт, получает скрипт правильно. Но я не могу открыть файл form.json из-за crossdomain. Следующая ошибка возникает:

XMLHttpRequest cannot load http://www.sitetwo.com/form.json. Origin http://www.siteone.com is not allowed by Access-Control-Allow-Origin. 

Как я могу получить доступ form.json из www.siteone.com

+0

JSONP является ответом. Вам нужно найти способ использования jsonp с этим вызовом aform. – SachinGutte

+0

dform - это функция из другого скрипта, загруженного на эту страницу. Как мы можем эффективно использовать jsonp в этих случаях? –

+0

Я не использовал этот скрипт dform. С помощью jquery ajax вы можете легко использовать jsonp, установив dataType в jsonp. – SachinGutte

ответ

1

YOu может отправить дополнительный заголовок со сценария на стороне сервера.

header("Access-Control-Allow-Origin: http://www.sitetwo.com"); 

Access-Control-Allow-Origin Multiple Origin Domains?

+0

Включает настройку сервера. Но нельзя ли использовать этот заголовок непосредственно в скриптах? –

0

стандартам браузер не позволяет загружать JSON из другого домена из-за same-origin policy. Использовать JSONP

Смежные вопросы