我正在练习AJAX和RESTful Web服务,我在控制台上遇到错误:
阻止跨源请求:同源策略不允许在...等等读取远程资源...
所以,我的代码不能在除Safari之外的任何浏览器上运行! 在Chrome,Firefor或Opera等其他浏览器上,我遇到了同样的错误。
只要我通过互联网搜索,我发现实现此目的的唯一方法是创建一个代理服务器,它将请求发送到服务器,然后将响应上的一些标头附加回客户端。
www.corsproxy.com解决方案很棒,但我只想拥有自己的代理! : - )
我的简单jQuery代码是:
var dataURL = "http://fou.com/last.json";
$.ajax({
url: dataURL,
async: true,
type: "GET",
dataType: "json",
success: editData
// editData it's a function which gonna edit the data from fou.com ..
})
根据这个,php代码会是哪个?
答案 0 :(得分:0)
您可以这样做:
JS:
var dataURL = "http://fou.com/last.json";
var proxyUrl = "http://myproxy.com/?get=";
$.ajax({
url: proxyUrl+encodeURIComponent(dataURL),
async: true,
type: "GET",
dataType: "json",
success: editData
})
PHP部分http://myproxy.com:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $_GET['get']
));
curl_exec($curl);
?>
PHP部分非常简化,可以为您提供一个想法。