Как включить совместное использование ресурсов между источниками на XAMPP?
У меня есть HTML-файл на моем локальном хосте с формой и jquery / ajax, который обрабатывает данные поста. Простой скрипт php ищет данные в таблице базы данных mysql
Это основная часть:
// $.post('lookup_update.php', $(this).serialize()) //<- local part which works
$.post('http://www.example.com/projectX/lookup_update.php', $(this).serialize()).done(function (data)
{ etc.
Но когда я указываю на онлайн lookup_update.php, я получаю следующее сообщение об ошибке в Chrome
XMLHttpRequest не может загрузитьhttp://www.example.com/projectX/lookup_update.php, В запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». ПроисхождениеHTTP: // локальныйПоэтому не допускается доступ. Ответ имел HTTP-код состояния 404.
Как я понимаю, мне нужно использовать
header("Access-Control-Allow-Origin: *");
для php. Но когда я добавляю это в example.com/lookup_update.php, файл выдает 404, когда файл localhost пытается вызвать его.
Я также попытался добавить следующее в мой конфигурационный файл apache Xampp
Header set Access-Control-Allow-Origin "*"
Как правильно включить перекрестный источник из моей локальной настройки XAMPP ??
[РЕДАКТИРОВАТЬ] Это моя простая форма на моем локальном хосте
<!--Begin form-->
<div id="form" class="result">
<form method="post" id="reg-form" class="form-horizontal">
<div class="controls">
<input type="text" name="code" id="code" placeholder="Code" class="form-control input-lg" />
</div>
</form>
</div>
<!--End form-->
Со следующей формой кода jquery
<script type="text/javascript">
$(document).ready(function ()
{
$(document).on('submit', '#reg-form', function ()
{
var tmpCode = $("#code").val();
// $.post('lookup_update.php', $(this).serialize())
$.post('http://www.example.com/projectX/lookup_update.php', $(this).serialize())
.done(function (data)
{
$("#reg-form").fadeOut('slow', function ()
{
$(".result").fadeIn('slow', function ()
{
console.log("inner test " + tmpCode);
$(".result").html(data);
setTimeout(function () {
location.reload();
$('input').val("");
}, 3000);
});
});
})
.fail(function ()
{
alert('fail to submit the data');
});
return false;
});
});
</script>
[РЕДАКТИРОВАТЬ 2]
ОК, я не думаю, что это связано с онлайн-файлом lookup_update.php, так как я использую это для проверки в другом файле
var testXHR = $.post("http://www.example.com/projectX/lookup_update.php", function (data) {
alert("success:" + data);
})
И во всплывающем окне предупреждения я вижу ожидаемые данные