ajax url 显示 404 未在服务器上找到但在本地 codeigniter 上工作?
ajax url showing 404 not found on server but working on local codeigniter?
致力于 codeigniter 项目并创建了一个基于 ajax 的表单,其中国家、州和城市由 ajax 添加到我的表单中,这是我的 ajax jquery 函数
$('#country-dropdown').on('change', function() {
var country_id = this.value;
$.ajax({
url: "<?=base_url();?>get-states",
type: "POST",
data: {
countryId: country_id
},
success: function(result) {
$("#state-dropdown").html(result);
$('#city-dropdown').html('<option value="">Select State First</option>');
}
});
});
$('#state-dropdown').on('change', function() {
var state_id = this.value;
$.ajax({
url: "<?=base_url();?>get-cities",
type: "POST",
data: {
stateId: state_id
},
success: function(result) {
$("#city-dropdown").html(result);
}
});
});
很简单
这些是我的路线
$route['get-states']['post'] = 'backend/admin/others/Ajaxcontroller/getStates';
$route['get-cities']['post'] = 'backend/admin/others/Ajaxcontroller/getCities';
我的控制器
public function getStates()
{
$this->load->model('StateModel', 'states');
$countryId = $this->input->post('countryId');
$states = $this->states->getStates($countryId);
$html = '<option>Select State</option>';
foreach($states as $state) {
$html .= '<option value="'.$state->id.'">'.$state->name.'</option>';
}
echo $html;
}
public function getCities()
{
$this->load->model('CityModel', 'cities');
$stateId = $this->input->post('stateId');
$cities = $this->cities->getCities($stateId);
$html = '<option>Select City</option>';
foreach($cities as $city) {
$html .= '<option value="'.$city->id.'">'.$city->name.'</option>';
}
echo $html;
}
和我的模特
public function getStates($countryId)
{
$query = $this->db->query("SELECT id ,name FROM rvd_states WHERE country_id = $countryId ORDER BY name;");
return $query->result();
}
public function getCities($stateId)
{
$query = $this->db->query("SELECT id ,name FROM rvd_cities WHERE state_id = $stateId;");
return $query->result();
}
它在我的本地主机上工作得非常好,但是当我将我的代码切换到生产环境时,同样的 ajax 显示未找到 url
任何想法或建议那里正在发生什么
我的url也没有变化
当我在本地主机时,这个 url returns 数据
http://localhost/matrimonial/get-states
但是当我在制作这个 url
https://host.com/matrimonial/get-states
return 404
我的 htaccess 文件
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L]
请帮忙
Post 您的 .htaccess 文件代码。
同时检查控制器文件名。在实时服务器上,控制器文件名的第一个字符应该是大写的。
致力于 codeigniter 项目并创建了一个基于 ajax 的表单,其中国家、州和城市由 ajax 添加到我的表单中,这是我的 ajax jquery 函数
$('#country-dropdown').on('change', function() {
var country_id = this.value;
$.ajax({
url: "<?=base_url();?>get-states",
type: "POST",
data: {
countryId: country_id
},
success: function(result) {
$("#state-dropdown").html(result);
$('#city-dropdown').html('<option value="">Select State First</option>');
}
});
});
$('#state-dropdown').on('change', function() {
var state_id = this.value;
$.ajax({
url: "<?=base_url();?>get-cities",
type: "POST",
data: {
stateId: state_id
},
success: function(result) {
$("#city-dropdown").html(result);
}
});
});
很简单 这些是我的路线
$route['get-states']['post'] = 'backend/admin/others/Ajaxcontroller/getStates';
$route['get-cities']['post'] = 'backend/admin/others/Ajaxcontroller/getCities';
我的控制器
public function getStates()
{
$this->load->model('StateModel', 'states');
$countryId = $this->input->post('countryId');
$states = $this->states->getStates($countryId);
$html = '<option>Select State</option>';
foreach($states as $state) {
$html .= '<option value="'.$state->id.'">'.$state->name.'</option>';
}
echo $html;
}
public function getCities()
{
$this->load->model('CityModel', 'cities');
$stateId = $this->input->post('stateId');
$cities = $this->cities->getCities($stateId);
$html = '<option>Select City</option>';
foreach($cities as $city) {
$html .= '<option value="'.$city->id.'">'.$city->name.'</option>';
}
echo $html;
}
和我的模特
public function getStates($countryId)
{
$query = $this->db->query("SELECT id ,name FROM rvd_states WHERE country_id = $countryId ORDER BY name;");
return $query->result();
}
public function getCities($stateId)
{
$query = $this->db->query("SELECT id ,name FROM rvd_cities WHERE state_id = $stateId;");
return $query->result();
}
它在我的本地主机上工作得非常好,但是当我将我的代码切换到生产环境时,同样的 ajax 显示未找到 url
任何想法或建议那里正在发生什么
我的url也没有变化 当我在本地主机时,这个 url returns 数据
http://localhost/matrimonial/get-states
但是当我在制作这个 url
https://host.com/matrimonial/get-states
return 404
我的 htaccess 文件
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L]
请帮忙
Post 您的 .htaccess 文件代码。
同时检查控制器文件名。在实时服务器上,控制器文件名的第一个字符应该是大写的。