XMLHttpRequest cannot load resource
I see that the server is returning a 404 error. This suggests that you do not have the PHP code above inside the index.php
file under https://php-contact-form-lual.herokuapp.com/index.php
.
Also, consider whether you really need https
. Does the server also accept single http
requests, and if so, why don't you try to use it without SSL?
Finally, did you try to pass the data as JSON data using the jQuery $.ajax
dataType: "jsonp"
and JSON.stringify({})
an object for the $.ajax data
?
The problem is the 404 status code. It's not even reaching the code you're typing.
Do you have a
$app->post('/', function() use($app) { // This is the route you need to edit. });
Do you have any "when" or other condition for the route? If so, remove it for now.
You must has configuration specific for https? I also note that you have different settings on http (403) vs. https (404), by default Heroku delivers the same code for both http and https unless you set in config for Silex.
Once you get that working (i.e. not a 404), you'll need to return the
Access-Control-Allow-Origin
header at the same time as the response (as you have in one of the "what I tried" examples. Having an "exit" after that will actually prevent the content being returned which is not totally helpful. (You need "exit" after redirect/location headers, but not here).
Other notes:
- If you're trying to create a "simple" PHP backend, why go for Heroku? You're not really coding PHP, but coding Symphony, Silex, Twig and all the other libraries that mean you're in documentation and library overkill.
- As you are using Heroku, there's a SwiftMailer interface (will help you make the
mail()
secure!