2012-10-18 117 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