Пытаюсь сделать простейший API между одним сайтом и другим, попробовать реализовать самый простейший вариант, а именно просто отправить запрос к php странице сайта и получить обратно данные которые она выедет.
на сервере стоит такой php файл:
$v['id'] ='11'; $v['nn']='22';
echo json_encode($v);
просто генерирует тестовую строку в джейсоне
а вот так я пытаюсь отправить запрос на получение данных от этого файла
jQuery.ajax({
url: "http://www.****.com/hyst/acore.php",
type: "GET",
contentType: 'application/json; charset=utf-8',
success: function(resultData) {
alert(resultData);
},
error : function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
}
});
но у меня к сожалению выскакивает ошибка, где я ошибся? уместно ли использовать тут аякс если домены у сайта с API и сайта который отправляет запрос разные? если не аякс то как лучше сделать?
Решение в создании ещё одного файла PHP - мост JS обращается к PHP- мост а PHP - мост обращается к внешнему ресурсу по средством "include(resource_URL)", дальше он возвращает нужные вам данные...
Разобрался! В общем может кому потребуется решение похожего? в общем дело было в том что в php обработчике отсутствовала строка
header('Access-Control-Allow-Origin: *');
в итоге мой обработчик (acore.php) стал выглядеть так
header('Access-Control-Allow-Origin: *');
header("Content-type: application/json; charset: utf-8");;
$v['id'] ='11'; $v['nn']='22';
echo json_encode($v);
ну, а запрос решил делать так:
fetch('http://www.****.com/hyst/acore.php')
.then(function(response) {
//alert(response.headers.get('Content-Type')); // application/json; charset=utf-8
//alert(response.status); // 200
return response.json();
})
.then(function(data) {
alert(data.id); // тут выходит наши данные записанные под id
})
.catch( alert );
хотя можно и вот так вызывать
var request = new XMLHttpRequest();
request.open('GET', 'http://www.****.com/hyst/acore.php', false);
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
var data = JSON.parse(request.responseText);
alert(data.id);
} else {
alert('error');
}
};
request.send();
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Постоянно возникает необходимость передать данные модели Yii2 во Vuejs
Не совсем понимаю один момент, например, есть три связанные таблицы: статья, теги и связующая таблица id_tag и id_postСделать просто вывод по всем...
Я читаю книгу "Олимпиадное программирование" Лааксонена и я попробовал предложенный в этой книге алгоритм перебора с возвратом для решения...