URL-адрес Ajax продолжает выдавать ошибку 404, не найденную, даже несмотря на то, что он возвращает желаемый ответ в ответной консоли.
Я разместил этот сайт как поддомен (http://example.org/codeigniter-folder/). У меня также естьWordPress сайт в том же домене (http://example.org/blog/). Я вынужден перенаправить на (http://example.org/codeigniter-folder/) по умолчанию от хостинговой компании., следовательно, есть два файла .htaccess. в папке codeigniter. Я работаю на сервере apache
example.org
-codeigniter-folder
--application
----controllers
------Welcome.php
----views
------common
--------top.php
--------bottom.php
--------header.php
--------footer.php
------welcome_message.php
------about.php
------events.php
--system
--assets
----js
------all js scripts
только те папки, которые представляют интерес, - это то, что я перечислил выше
Вот представление в welcome_message.php
<form name="volunteer_form" method="post" action="" class="volunter-form vol-form">
<div class="alert alert-danger" style="display:none"></div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="text" name="name" class="form-control" placeholder="Your Name">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<input type="text" name="email" class="form-control" placeholder="Your Email">
</div>
</div>
<input type="submit" name="submit" id="subbtn" class="btn btn-white py-3 px-5 btnsubmit" value="Send Message">
</div>
</form>
вот дно, расположенное в views / common / bottom.php
<script src="<?php echo base_url(); ?>assets/js/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4"
crossorigin="anonymous"></script>
<script src="<?php echo base_url(); ?>assets/js/jquery-migrate-3.0.1.min.js"></script>
<script src="<?php echo base_url(); ?>assets/js/popper.min.js"></script>
<script src="<?php echo base_url(); ?>assets/js/bootstrap.min.js"></script>
<!-- <script src="<?php echo base_url(); ?>assets/mdb/js/mdb.min.js"></script> -->
<script src="<?php echo base_url(); ?>assets/js/jquery.easing.1.3.js"></script>
<script src="<?php echo base_url(); ?>assets/js/jquery.waypoints.min.js"></script>
<script src="<?php echo base_url(); ?>assets/js/jquery.stellar.min.js"></script>
<script src="<?php echo base_url(); ?>assets/js/owl.carousel.min.js"></script>
<script src="<?php echo base_url(); ?>assets/js/jquery.magnific-popup.min.js"></script>
<script src="<?php echo base_url(); ?>assets/js/aos.js"></script>
<script src="<?php echo base_url(); ?>assets/js/jquery.animateNumber.min.js"></script>
<script src="<?php echo base_url(); ?>assets/js/bootstrap-datepicker.js"></script>
<script src="<?php echo base_url(); ?>assets/js/jquery.timepicker.min.js"></script>
<script src="<?php echo base_url(); ?>assets/js/scrollax.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBVWaKrjvy3MaE7SQ74_uJiULgl1JY0H2s&sensor=false"></script>
<script src="<?php echo base_url(); ?>assets/js/google-map.js"></script>
<script type="text/javascript">var baseurl = "<?php echo base_url(); ?>";</script>
<script src="<?php echo base_url(); ?>assets/js/custom.js"></script>
<script src="<?php echo base_url(); ?>assets/js/main.js"></script>
Я разместил дно, потому что у меня есть ощущение, что один из этих связанных файлов может конфликтовать с блоком ajax i. написал ниже
вот JS в assets / js / custom.js
$("#subbtn").click(function(e){
e.preventDefault();
var name = $('input[name="name"]').val();
var email = $('input[name="email"]').val();
// var phone = $('input[name="phone"]').val();
// var subject = $('input[name="subject"]').val();
// var message = $('textarea[name="message"]').val();
var formdata = {name:name, email:email};
$.ajax({
url:baseurl+"ajax",
type:"POST",
data:formdata,
dataType:"json",
success:function(){
//console.log(response.success);
alert(name);
},
error:function(){
console.log("error");
}
});
alert(name);
});
});
Просто чтобы вы знали, что я пробовал URL: «ajax», даже в жестком коде URL, до сих пор не сделалработать с URL: "AJAX", я вижуправильный ответ тоже в консоли. Поэтому я продолжу публиковать .htaccess, то есть тот, что находится в codeigniter-folder
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
, и вот тот, который в example.org
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.org$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.org$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "http\:\/\/example\.org\/site" [R=301,L]
Последнее предупреждение () работает. это означает, что мой JS работает за исключением блока AJAX. При выполнении функция ошибки всегда выполняется
Это мой контроллер в Ajax.php
class Ajax extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{
$response['success'] = $this->input->post('name').' '.$this->input->post('email');
echo json_encode($response);
}
}
Чего мне не хватает? Что мне делать, чтобы AJAX правильно интерпретировал URL? спасибо.