Вызов php-файла на другом сервере и отображение результата с помощью javascript - PullRequest
0 голосов
/ 28 августа 2018

EDIT

Я установил заголовок моего php-файла так:

header("Access-Control-Allow-Origin: *");

И вот ошибка, которую я сейчас получаю в своем браузере:

"Поле заголовка запроса Access-Control-Allow-Origin не разрешено Access-Control-Allow-Headers в ответе перед полетом."

И это мой php файл:

<?php
header("Access-Control-Allow-Origin: *");
require 'db_handler.php';


$criterion_name = $_GET['name'];

$query = $fm->newFindCommand("DOKUMENTY_PHP");
$query->addFindCriterion('Nazwa', "=*" . $criterion_name . "*");
$query->addFindCriterion('Format_dokumentu', "=" . "PDF");
$query->addFindCriterion('web', "=" . "1");
$result = $query->execute();

if(FileMaker::isError($result)){
    echo($result->getMessage());
    return;
}
$i = 0;
// Get array of found records
$records = $result->getRecords();
foreach ($records as $record) {
    echo '<li> <a href="./plik.php/?filename=' . $record->getField('Nazwa') 
. '.pdf">' . $record->getField('Nazwa') . '</a></li>';
    $i++;
}
echo $i . " Pozycje";

?>

Я пытаюсь отправить форму с моего веб-сайта в файл php на удаленном сервере, вернуть результат и отобразить его, не перезагружая страницу. Все работает нормально, если и веб-сайт, и php-файл находятся на одной машине, когда они разделены, они перестают работать Я подумал, что проблема, вероятно, заключается в том, как я вызываю php-файл, но я не знаю, как это сделать другим способом.

Функция file_get_contents () работает без проблем. Но я не думаю, что смогу использовать это здесь.

Вот мой HTML-код:

<form id="my_form" align = "center">
Nazwa pliku: <input name="name" id="firstname" type="text" />
<input id="submit_form" type="button" value="Submit">
</form>

<div  id="update_div" onKeyPress="return checkSubmit(event)"></div>

<script>
var submit_button = $('#submit_form');

submit_button.click(function() {
var var_name = $('#firstname').val();
var update_div = $('#update_div');
$.ajax({
    type: 'GET',
    headers: { "cache-control": "no-cache" },
    url: 'http://xxx.xxx.xxx.xxx/show_documents.php',
    data: {name: var_name}, 
    success: function(response){
       update_div.html(response);
       }
    });
});

1 Ответ

0 голосов
/ 28 августа 2018

Пожалуйста, включите в php.ini

 allow_url_fopen=On

Для доступа с другого сервера через api или ajax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...