2016-03-08 118 views
0

在Magento我已经使用的,而不是产品图片视频发出fething数据,这是一个marketplace.there在前端型四用户的 1.卖方 2.企业 3.业务代理 4.网站的客户Magento的跨域用ajax从其他领域

商务代理 - >代理业务提供所有卖家的产品给别人的网站,如果通过其他网站购买,他将得到佣金,所以我给予和嵌入式代码业务代理0,使他们能够实现这个给别人网站但是当我试图从其他域打ajax时,它会显示跨域错误。

Cross-Origin Request Blocked: 
The Same Origin Policy disallows reading the remote resource at http://shopahol.com/demo/test.php?atoken=c0Q5QUk1VUgreEk9. 
(Reason: CORS header 'Access-Control-Allow-Origin' missing). 

要解决这个问题,我已尝试添加访问控制允许报头到index.php

header('Access-Control-Allow-Origin: *'); 

,但问题没有解决同样的错误。然后我试图把crossdomain.xml的在我的根文件夹

<!--l version="1.0--> 
<!--pan class="hiddenSpellError" pre=--> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
    <allow-access-from domain="*" /> 
</cross-domain-policy> 

它也没有同样的问题,任何人都可以有任何解决方案或我做错了什么。

这是我的代码在其他网站上显示视频。 (简单的HTML或PHP文件)

<!-- html starts --> 
     <div id="tevid" style="width:100%;"> 
      <video id="homevideo" width="100%" autoplay onended="run()"></video> 
     <div class="bg-background-new"> 
     <a href="" class="product-name-new" id="product-name">Product Name</a> 
     <div class="price-new" id="price"></div> 
     <a href="" id="button1" class="new-button">Buy Now</a> 
     </div> 
     </div> 
     <!-- javascript starts *Remove this script if you already included ajax jquery --> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js" > </script> 
     <script> 
      var video_count =0; 
      var videoPlayer = document.getElementById("homevideo"); 
      var allproduct = []; 

      function getvideos(){ 
       $(document).ready(function() { 
       $.ajax({ 
         url: "http://shopahol.com/demo/test.php?atoken=c0Q5QUk1VUgreEk9", 
         type: "GET", 
         dataType: "json", 
         success: function(data){ for(var i in data) { allproduct.push(data[i]); } run(); }, 
         error: function() { alert("Error During Process"); }  
       }); 
       }); 
      } 

      function run(){ 
      var nextVideo = allproduct[video_count].videourl; 
      var price = allproduct[video_count].pric; 
      var name = allproduct[video_count].name; 
      var url = allproduct[video_count].url; 
      videoPlayer.src = nextVideo; 
      videoPlayer.play(); 
      video_count++; 
      $("#price").html("$ "+price); 
      $("#product-name").html(name); 
      $("#product-name").attr("href", url) 
      $("#button1").attr("href", url) 
      if(allproduct.length == video_count){ video_count = 0; } 
      } 

     $(document).ready(function() { 
      getvideos() ; 
     }); 

     </script> 
     <!-- css starts --> 
     <style> 
     a.new-button { 
      background: red none repeat scroll 0 0; 
      border: medium none; 
      bottom: 0; 
      color: #fff; 
      cursor: pointer; 
      float: right; 
      font-weight: bold; 
      margin-top: 10px; 
      padding: 10px 20px; float: right; 
     } 
     .price-new { 
      color: #000; 
      display: block; 
      float: right; 
      line-height: 35px; 
      padding: 10px; 
     } 
     a.product-name-new { 
      color: #000; 
      display: inline-block; 
      float: right; 
      line-height: 35px; 
      margin: 10px 0; 
      position: relative; 
      right: 2px; 
      text-decoration: none; 
     } 
     .bg-background-new { 
      background: transparent none repeat scroll 0 0; 
      bottom: 65px !important; 
      display: block; 
      position: relative; 
      right: 0 !important; 
      width: 99%; 
     } 
     </style> 
的帮助

赞赏提前 感谢

回答

0

我的数字出来,所以我张贴的答案为他人在相同的情况下 帮助我改变了我的AJAX功能

function getvideos(){ 
       $(document).ready(function() { 
       $.ajax({ 
         url: "http://shopahol.com/demo/test.php?atoken=WkFBU2F6bFdCNFU9", 
         type: "GET", 
         crossDomain: true, 
         dataType: "jsonp", 
         jsonpCallback: 'giveBacktome',       
         error: function() { console.log("Error During Process"); } 
       }); 
       }); 
      } 

它的工作原理