Javascript 表单验证失败并重定向/重新加载视图后,带有AJAX下拉菜单的Codeigniter不工作
验证运行后,将失败,并继续重定向到同一控制器索引Javascript 表单验证失败并重定向/重新加载视图后,带有AJAX下拉菜单的Codeigniter不工作,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,验证运行后,将失败,并继续重定向到同一控制器索引 if (!$this->form_validation->run()) { $this->index(); } 表单是一个简单的两个下拉列表,一个依赖于另一个,但是一旦视图被重新加载,第二个依赖的下拉列表就会停止工作 这是JS $(document).ready(function() { $('#manufacturer_dropdown').change(functio
if (!$this->form_validation->run())
{
$this->index();
}
表单是一个简单的两个下拉列表,一个依赖于另一个,但是一旦视图被重新加载,第二个依赖的下拉列表就会停止工作
这是JS
$(document).ready(function()
{
$('#manufacturer_dropdown').change(function()
{
$("#sw_names > option").remove();
var id = $('#manufacturer_dropdown').val();
$.ajax({
type: "POST",
url: "software/get_software_names/"+id,
datatype : "JSON",
success: function(sw_names)
{
$.each(sw_names,function(id,software_name)
{
var opt = $('<option />');
opt.val(software_name);
opt.text(software_name);
$('#sw_names').append(opt);
});
}
});
});
});
$(文档).ready(函数()
{
$(“#制造商_下拉列表”).change(函数()
{
$(“#软件名称>选项”).remove();
var id=$(“#制造商_下拉列表”).val();
$.ajax({
类型:“POST”,
url:“软件/获取软件名称/”+id,
数据类型:“JSON”,
成功:功能(软件名称)
{
$。每个(软件名称、功能(id、软件名称)
{
var opt=$('');
opt.val(软件名称);
可选文本(软件名称);
$('sw#u name')。附加(opt);
});
}
});
});
});
如果我手动刷新页面,下拉列表将再次工作。不确定发生了什么,可能是document ready函数停止检查或其他什么。我不是JS专家
如果需要,我可以发布更多的代码
编辑:我的JS URL缺少一个/
现在可以工作了如果您正在发出ajax请求,则必须给出ajax响应
不能在这样的请求中间重定向页面。
我写了一些关于这类问题的文章,因为这是一个很常见的问题。希望这能引导你: