I have an html file on my localhost with a form and jquery / ajax that processes post data. Simple php script lookup data in mysql database table
This is the main part:
// $.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.
But when I point to lookup_update.php online, I get the following error message in chrome
XMLHttpRequest cannot load http://www.example.com/projectX/lookup_update.php . The requested resource does not have an Access-Control-Allow-Origin header. Origin ' http: // localhost ' is therefore not allowed. The response was an HTTP 404 status code.
As I understand it, I need to use
header("Access-Control-Allow-Origin: *");
for php. But when I add this to example.com/lookup_update.php, the file gives 404 when the localhost file tries to call it.
I also tried adding the following to the Xampp apache config file
Header set Access-Control-Allow-Origin "*"
How to properly enable cross-generation resource from my local XAMPP setup?
[ EDIT ] This is my simple form on my localhost
<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>
With the following jquery form code
<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>
[ EDIT 2 ]
OK, I don’t think this is related to the lookup_update.php online file, as I use this for testing in another file
var testXHR = $.post("http://www.example.com/projectX/lookup_update.php", function (data) { alert("success:" + data); })
And in the warning popup I see the expected data