Я создал функцию GET, используя Slim, которая отлично работает в браузере, т. Е. Когда я нажимаю ссылку, но когда я вызывал тот же url
через angularjs
, он показывает ошибку.Запрос на перекрестный запрос Заблокирован в angularjs
"NetworkError: 404 Not Found - http://www.example.com/folder_name/getSongs/0/10"
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://www.example.com/folder_name/getSongs/0/10. (Reason: CORS header 'Access-Control-Allow-Origin' missing).
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource. (Reason: CORS request failed).
стройные рамки установки в папке название_папки
моего кода в index.php из стройных следующим образом.
//my db functions file
require_once './common/myfunctions.php';
require 'Slim/Slim.php';
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim();
$app->get('/getSongs/:minLimit/:maxLimit', function ($minLimit, $maxLimit) use ($app) {
$response = $app->response();
$response->header('Access-Control-Allow-Origin', '*');
$response->header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, DELETE, PUT');
$response->header('Access-Control-Max-Age', '1000');
$response->header('Access-Control-Allow-Headers', 'x-requested-with, Content-Type, origin, authorization, accept, client-security-token');
$response_array = array(); //response will be send
$songList = getSongsList($minLimit, $maxLimit);
if (isset($songList) && !empty($songList)) {
foreach ($songList as $key => $value) {
$response_array['data'][$key] = $value;
}
$response_array['success'] = TRUE;
$app->status(200); //Ok
}
//blank array
else {
$response_array = array("success" => TRUE, "data" => NULL);
$app->status(204); //No Content
}
echo json_encode($response_array);
});
$app->run();
спасибо, что работает –