Я долгое время переполнен и, в конце концов, подписался. Я прошел через тонны нитей, но никто не мог помочь мне с моей проблемой. Я собираюсь создать RESTful API с тонким фреймворком в php и иметь проблемы с запросами на передачу crossdomain.RESTful api - перекрестный домен запрос на отправку
Позвольте мне кратко рассказать о том, что я сделал. После того, как я обратился к первым запросам GET, я искал метод для простого тестирования моего API и нашел аддон Firefox RESTClient, он работал хорошо, поэтому я продолжал его использовать. После нескольких тестов я проверил собственный код на другом сервере и возникла проблема.
Запрос на перекрестный запрос заблокирован: политика одного и того же происхождения запрещает чтение удаленного ресурса в% 1 $ S. (Причина: канал предпросмотра CORS не удалось).
Что интересно больше всего тот факт, что аддона Firefox не было никаких проблем, чтобы сделать запрос в любое время, он всегда показывал ожидаемый ответ. Ошибка выше, только когда я попытался отправить запрос по моему собственному коду. Я много читал о просьбах о перекрестном происхождении, но мне ничего не помогло, надеюсь, вы сможете.
Теперь прежде всего позвольте мне показать вам мой тонких рамочного код PHP
<?php
header('access-control-allow-origin: *');
header('Content-Type: application/json');
function output($arr){
echo json_encode($arr);
exit;
}
require 'Slim/Slim.php';
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim();
$app->put(
'/put',
function() {
$output = array("status"=>"200","message"=>"This is a put test");
output($output);
}
);
$app->run();
?>
И моего test.html
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<script type="text/javascript">
(function($) {
var url = 'URL';
$.ajax({
type: 'put',
url: url,
async: false,
crossDomain:true,
dataType: 'json',
success: function(json) {
console.log(json);
},
error: function(e) {
console.log(e.message);
}
});
})(jQuery);
</script>
</body>
</html>
Может кто-то пожалуйста, объясните мне, как я могу получить этот запрос PUT работаю , Я действительно в этом отчаянном настроении прямо сейчас. Я понимаю всю эту междоменную тему, но почему он не отпускает ее после того, как я установил источник доступа-allow-origin в php-коде? Что делает аддон firefox другим? ...
Расширение Firefox не обязательно должно следовать одной и той же политике происхождения, любой javascript, который запускается на странице, делает. Проблема может быть связана с установкой 'async: false', попробуйте установить значение' true' и посмотреть, что произойдет. – idbehold
спасибо за вашу помощь, но это не исправляет ошибку, как раньше – Jan
попробуйте поместить следующий код в ajax .... contentType: 'application/x-www-form-urlencoded', –