'Jquery ajax returning 404 not found
I'm using Ajax to pass my form data and files to a PHP file for processing.
Javascript:
$("form#applyform").submit(function(){
var data = new FormData();
jQuery.each($('#file')[0].files, function(i, file) {
data.append('file-'+i, file);
});
$.ajax({
url: 'ValidateApplication.php',
data: data,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function(data){
alert(data);
}
});
}
ValidateApplication.php definitely exists. I can view it if I type in the address into the web browser, however when I submit the form chrome console returns 404.
The PHP is in the same folder as the HTML page the JavaScript is running on so I am confused as to why I keep getting a 404.
UPDATE
Changing POST to GET gets rid of the 404 error, but returns a 500 Internal Server Error
UPDATE 2
Changing the action of the form to ="ValidateApplication.php" and submitting it as normal (without AJAX) leads to the correct file without any errors.
Solution 1:[1]
I've had the same issue and after 2 hours looking for what was causing the 404 Not Found error I found that I was recently playing with the header() from PHP and had forgotten to delete the following line of code:
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
After deleting it, my Ajax functions became normal again.
Solution 2:[2]
For me, it was that I used an input field with name="name" which made the called page return a 404. Weird stuff, hope this helps someone.
Solution 3:[3]
Try adding a / before the filename: url: '/ValidateApplication.php',
Try changing the request type from POST to GET and see if it works.
Try commenting out parts of the code:
/*cache: false,
contentType: false,
processData: false,*/
Try another browser.
Solution 4:[4]
Please validate you have provided name="" attribute properly in the form Form submit validate all bean attribute from name attribute of the input
Solution 5:[5]
Please check your PHP page name!
Do not use page-ajax.php, but instead use page_ajax.php.
Solution 6:[6]
Based on my case, I'd be sure to recheck your url address.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | CIRCLE |
| Solution 2 | NightOwl888 |
| Solution 3 | Greg K |
| Solution 4 | Shahid Hussain Abbasi |
| Solution 5 | Mark Rotteveel |
| Solution 6 | Jason Caleb |
