VUEJS, как вызвать файл PHP при отправке формы

Я разрабатываю и разрабатываю портал бронирования автобусов в VUEJS, когда нажимаю кнопку (поиск автобусов). Я хочу вызвать внешнюю страницу PHP, где она покажет результат поиска.

Я разместил справочную ссылку здесь http://d1brg6zcfjtxzw.cloudfront.net/#/bus

Пожалуйста помоги!


person Balram Sharma    schedule 16.01.2018    source источник
comment
Вам нужно уточнить, что означает вызов внешней страницы. На этой другой странице размещен REST API? Вы хотите сделать HTTP POST? HTTP GET? Вы отправляете данные на эту страницу?   -  person PatrickSteele    schedule 16.01.2018


Ответы (3)


Если вам нужен домен вызова, отличный от вашего, вам необходимо включить параметры CORS в коде PHP.

https://enable-cors.org/server_php.html

К вашему сведению, вместо значения * в примере вы должны указать свои собственные домены. Но на этапе тестирования вы можете использовать как *

person Onur Özkan    schedule 16.01.2018
comment
это в том же домене, просто вместо search.vue я хочу сделать search.php, но как вызвать эту страницу при отправке формы. Например, страница будет иметь вид www.xys.com/search.php. - person Balram Sharma; 16.01.2018

Вам нужно узнать об REST. Вы можете отправить запрос GET/POST с библиотекой ресурсов Vue при изменении ввода или нажатии кнопки и проанализировать ответ с сервера. Ответ от сервера может содержать JSON, и вы можете JSON.parse() их и поместить в свои данные() или в хранилище.

person Vladislav Gritsenko    schedule 16.01.2018

  • Сначала установите vue-resource или vue-axios.
  • Добавьте пакет vue-resource в компонент vue.
    import VueResource from 'vue-resource';
    Vue.use(VueResource);
  • Создать http-запрос

    this.$http.post('yourPath', { "key":"yourData" }).then( response => { console.log(response.data); } );

  • Затем я предполагаю, что вы используете сервер appche, настраиваете сервер appache, создавая файл .htaccess, для обработки полиции CORS, содержимое файла .htacess:

    Header always set Access-Control-Allow-Origin "http://ocalhost:8080"
    Header always set Access-Control-Max-Age "1000"
    Header always set Access-Control-Allow-Headers "X-Requested-With, Content-Type, Origin, Authorization, Accept, Client-Security-Token, Accept-Encoding"
    Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} OPTIONS RewriteRule ^(.*)$ phpFileName.php [QSA,L]

  • Наконец, извлеките данные из php-файла, используя

    echo json_decode(file_get_contents('php://input'),true)["key"];

person Niyaz    schedule 22.12.2018