Создание AJAX-запроса API с использованием PHP - PullRequest
0 голосов
/ 27 апреля 2011

Я пытаюсь создать API для своего веб-сайта с использованием PHP, поскольку сайт кодируется на PHP, поэтому разработчики могут получать информацию с помощью AJAX-запросов на мой сервер, но как я могу это сделать?

Обновление: какие-нибудь сайты, где я могу получить примеры?

Ответы [ 4 ]

1 голос
/ 27 апреля 2011

Если вы хотите, чтобы другие разработчики могли обращаться к этой странице напрямую с помощью Ajax-запроса, вам следует установить Контроль доступа для межсайтовых запросов.Вы можете прочитать об этом здесь:

http://www.w3.org/TR/2008/WD-access-control-20080912/

php:

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

Затем вы должны решить, как вы отправляете свои данные (XML, JSON, CSV и т. Д.)..) и установите это как Content-Type в вашем заголовке.Я рекомендую JSON, потому что с ним легко работать с помощью PHP и JavaScript.Остальное, как и на любой другой странице, которую вы публикуете в мире.

php:

header("Content-Type: application/json");
1 голос
/ 27 апреля 2011

Как и любая обычная обработка форм. Разница в том, что вы обычно возвращаете JSON вместо HTML, когда это API для использования с AJAX-запросами:

<?php
header("Content-Type: application/json");
print json_encode(array("sum" => $_GET["a"] + $_GET["b"]));

Это было бы простым дополнением API. Что, очевидно, глупый пример. Это очень сильно зависит от того, чего вы хотите достичь с помощью вашего API, и от того, какие данные на самом деле обрабатывает ваш сайт.

0 голосов
/ 25 декабря 2013

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

0 голосов
/ 27 апреля 2011

Создать обычную страницу PHP. Только вместо того, чтобы возвращать HTML, как это делает обычная страница PHP, он должен возвращать ответ XML или JSON.

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