Я работаю над проектом Laravel 5.6, который хранится на VPS (мы называем его «производственным», несмотря на отсутствие такой созданной среды).
Мы также объединили Plesk и Github для развертывания веб-приложения из наших локальных сред на сервер вручную.
Проблема - это когда я загружаю некоторые данные из API, они возвращают ошибку 405. Метод запрещен (ПОЛУЧАТЬ) ... но на самом деле они зарегистрированы как ПОЧТА в app.js и в routes/api.php.
И самое лучшее, что в моей местной среде они отлично работают.
Request Method: GET
Status Code:405 Method Not Allowed
А вот код в app.js:
loadCountries: function loadCountries(total) {
axios.post('/api/properties/countries/').then(function (response) {
app.countries = response.data;
});
total = total <= this.countries.length ? total : this.countries.length;
if (total) {
var newArr = [];
for (i = 0; i < total; i++) {
newArr.push(this.countries[i]);
}
this.countries = newArr;
}
},
Примечание: Если я отредактирую тот же запрос в инструменте разработчика и отправлю его снова, но в качестве запроса POST он вернет мне все в порядке, поэтому API, похоже, отлично работает с запросом POST.
Я не смог найти этот ответ ... Это решило мою проблему. Ответьте, пожалуйста. и спасибо
@Maramal: Если он работает в почтальоне, попробуйте удалить / из запроса. Попробуйте это так: '/api/properties/countries', потому что я думаю, что он пытался найти '/api/properties/countries/', а он не определен в ваших маршрутах!
@kozak, пожалуйста, опубликуйте как ответ
@Maramal, НП рад, что это сработало.






Попробуйте убрать косую черту в конце вашего URL.
Такой как,
/api/properties/countries
Замена этой строки в исходном app.js приведет к следующему:
loadCountries: function loadCountries(total) {
axios.post('/api/properties/countries').then(function (response) {
app.countries = response.data;
});
total = total <= this.countries.length ? total : this.countries.length;
if (total) {
var newArr = [];
for (i = 0; i < total; i++) {
newArr.push(this.countries[i]);
}
this.countries = newArr;
}
},
Я столкнулся с этой проблемой, и я решил ее, сделав вычисляемый атрибут с полным URL-адресом, подобным этому
computed: {
sendAnswersUrl: function () {
return window.location.protocol + "//" + window.location.hostname, + "/api/properties/countries";
}
}
затем при публикации с использованием аксиомов
axios.post(this.sendAnswersUrl, {
group: this.id,
})
.then(data => {})
.catch(() => {});
Этот ответ может иметь отношение к вашей проблеме stackoverflow.com/questions/46611275/…