2012-10-18 121 views
0

可能重复:
Ajax cross domain call阿贾克斯跨域不工作

要在这里这个代码..

var URLs = new Array(); 
    var titulo = new Array(); 

    $.ajax({ 
    url: 'http://www.example.com.br', 
    type: 'GET',              
    success: function(res) { 
     headline = $(res.responseText).text();                
     URLs = headline.split(",LK"); 
     CriaVideos(URLs);        
    } 
    }); 

    function CriaVideos(URLs) 
    {       
    for(var i = 0; i <= 5; i++) 
    { 
    var aux = new Array(); 
    aux = URLs[i].split("#"); 

    titulo.push(aux[0]); 
    titulo.push(aux[1]); 
    Cria(titulo); 
    }     
    }           

function Cria(titulo) 
{                 
    document.write('<li><div id="frame_video"><a href="TelaVideoWind.php?nome='+  titulo[1]+ '&video=' + titulo[0] + '"><span class="frame_video_img"><img src="img/play.png" width="60px" height="40px" align="middle" style="position: absolute; margin-top: 55px; margin-left: 95px;"/><img src="http:/'+ titulo[0]+ '/i.ytimg.com/vi/hqdefault.jpg" width="250px" height="150px"/></span><span class="frame_video_desc"></span></a></div></li>');       
} 

,并将其在标题文件撰写工作或者将它放在功能之外,但它不起作用!我想知道有没有人可以帮忙!

+2

它不工作,因为它是不允许的:http://en.wikipedia.org/wiki/Same_origin_policy。 –

回答

0

由于Felix Kling提到了这样的跨域调用,大多数浏览器都不允许这样做。有几种方法可以解决这个问题,比如http://en.wikipedia.org/wiki/JSONP,但这需要您打的是我相信的JSONP服务。

或者,您可以使用任何您使用的网络语言的代理页面。所以你可以有一个PHP页面做一个服务器到服务器的请求,获取你当前发送你的ajax请求的页面。然后,您的代理页面可以提供从服务器到服务器调用ajax调用的内容/响应。

+0

所以.. 但我在同一个域.. 我只是想对待这个字符串来自同一个域,并把标题放在数组document.write来创建视频的组件! 但他们说这是唯一可能的交易从一个功能到另一个.. 不知何故,我必须得到这个数组和其他地方使用? 或更好的解决方案 – user1754616