Я видел несколько примеров здесь, в Stackoverflow, но ничего не работает.Проблемы с перекрестным доменом Запрос CORS
Я использую PHP для серверной и Backbone.js на переднем конце. Я могу делать запросы GET и POST, но не могу заставить PUT или DELETE работать.
Я не уверен на 100%, где лучшее место для размещения заголовков. Я их в двух местах. Один в файле .htaccess следующим образом.
#Header always set Access-Control-Allow-Origin "http://www.fitnesstimer.dev"
#Header always set Access-Control-Allow-Methods "POST, GET, PUT, DELETE, OPTIONS"
#Header always set Access-Control-Allow-Headers "origin, x-requested-with, Content-Type,X-Custom-Header"
#header always set Access-Control-Allow-Credentials "true"
Тогда в заголовке моего контроллера у меня есть это.
header('Access-Control-Allow-Origin: http://www.fitnesstimer.dev');
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization, X-Request-With, X-Custom-Header');
header('Access-Control-Allow-Credentials: true');
Мой вызов AJAX выглядит следующим образом.
$.ajax({
type: 'PUT',
url: 'http://www.fitnesstimerapi.dev/user/deleteuser/' + userId,
contentType: "application/json",
xhrFields: {withCredentials: true },
dataType: "text",
success: function() {
alert( 'User removed!');
},
error: function(err) {
console.log("ERROR: ", err);
}
});
Я пробовал как PUT, так и DELETE как тип, и ни один из них не работает. Я получаю следующую ошибку.
XMLHttpRequest cannot load http://www.fitnesstimerapi.dev/user/deleteuser/11. Response for preflight has invalid HTTP status code 404
Любая помощь была бы принята с благодарностью. Пожалуйста, не просто свяжите меня с какой-то документацией, потому что я прочитал все обо всем. Я много искал и читал, прежде чем решил приехать сюда и просто спросить.
Спасибо!
Упоминание «предполетный» в ошибке означает, что браузер отправляет команду «ОПЦИИ» и не получает ответ, который он ожидает от вашего сервера. Правильно ли ваш PHP реализует запрос «ОПЦИИ» как часть поддержки CORS? – jfriend00
Я уверен, что это не так, и я не знаю, как это сделать. –
О, DUDE, вы помогли просто сказать: «Правильно ли ваш PHP выполняет запрос« ОПЦИИ »как часть вашей поддержки CORS?» Я смог выполнить поиск на основе этого, и я нашел эту ссылку. http://www.dinochiesa.net/?p=754 –