Как сделать PHP прокси для решения ошибки CORS?

Я практикуюсь на AJAX и RESTful Web Services, и я получил ошибку на консоли, которая говорит:

Блокировка перекрестного запроса: та же политика происхождения запрещает чтение удаленного ресурса в … бла-бла-бла …

Итак, мой код не работает ни в одном браузере, кроме 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 ..
})

Какой код будет в соответствии с этим?

1

Решение

Вы можете сделать что-то вроде этого:

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 очень упрощена, чтобы дать вам представление.

0

Другие решения

Других решений пока нет …