2017-01-20 6 views
0

У меня возникли проблемы при получении данных с сайта, я хочу его DAT на мой сайт http://www.cvedetails.com/vulnerability-feeds-form.phpJSON вызов URL для извлечения данных

Вот код `

<!DOCTYPE html> 
<html> 
<head> 
    <title>json data</title> 
</head> 
<body> 
<div class="demo" id="demo"> 
    <!-- <iframe src="http://www.cvedetails.com/widget.php?numrows=10&vendor_id=0&product_id=0&version_id=0&hasexp=0&opec=0&opov=0&opcsrf=0&opfileinc=0&opgpriv=0&opsqli=0&opxss=0&opdirt=0&opmemc=0&ophttprs=0&opbyp=0&opginf=0&opdos=0&orderby=1&cvssscoremin=10" width="100%" height="300px"></iframe> --> 
</div> 
<div class="demo2" id="demo2"><p></p></div> 


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<script type="text/javascript"> 

$(document).ready(function(){ 
var FEED_URL='http://www.cvedetails.com/json-feed.php?numrows=10&vendor_id=0&product_id=0&version_id=0&hasexp=0&opec=0&opov=0&opcsrf=0&opfileinc=0&opgpriv=0&opsqli=0&opxss=0&opdirt=0&opmemc=0&ophttprs=0&opbyp=0&opginf=0&opdos=0&orderby=1&cvssscoremin=10'; 

$.ajax({ 
    url  : FEED_URL + encodeURIComponent(FEED_URL), 
    dataType : 'json', 
    success : function (data) { 
    if (data.responseData.feed && data.responseData.feed.entries) { 
     $.each(data.responseData.feed.entries, function (i, e) { 
     header('Access-Control-Allow-Origin: http://www.cvedetails.com'); 
     alert('e.title'); 
     $('#demo2').append($('<p/>').text(e.title)); 

     console.log("------------------------"); 
     console.log("title  : " + e.title); 
     console.log("author  : " + e.author); 
     console.log("description: " + e.description); 
     }); 
    } 
    } 
}); 
}); 
</script> 
</body> 
</html> 

`

enter image description here

+1

почему 'FEED_URL + encodeURIComponent (FEED_URL)' почему не просто 'FEED_URL' –

ответ

0

Похоже, что этот сайт не поддерживает CORS, поскольку он не устанавливает соответствующие iate Access-Control-Allow-Origin. Поскольку вы не можете исправить эту клиентскую сторону (за пределами хаков), лучше всего настроить прокси-сервер, который может проксировать вызовы этого API. Прокси-сервер может находиться в вашем собственном домене или вы можете указать свои собственные заголовки ответов CORS. Вы также можете заглянуть в JSONP.

Руководство по CORS: https://www.moesif.com/blog/technical/cors/Authoritative-Guide-to-CORS-Cross-Origin-Resource-Sharing-for-REST-APIs/

+0

хорошо позвольте мне попробовать использовать этот –