Javascript没有响应编码器
javascript no response codeigniter
这个下拉菜单依赖于其他两个下拉菜单的选择,
我已经调试过了,我看到的唯一错误是,它从来没有成功过
这是我的javascript
jQuery(document).ready(function(){
$("#GRADE").change(function() {
var TRANCHE = {"TRANCHE" : $('#TRANCHE').val()};
var GRADE = {"GRADE" : $('#GRADE').val()};
console.log(TRANCHE);
console.log(GRADE);
$.ajax({
type: "POST",
dataType: "json",
data: {
TRANCHE : "TRANCHE",
GRADE : "GRADE"
},
url: "<?php base_url(); ?>EmployeeSalary/dependent_dropdown2/",
success: function(data){
var select = $('#SAL_ID');
select.html('');
$.each(data, function(i, option){
select.append("<option value='"+option.ID+"'>"+option.AMOUNT+"</option>");
});
}
});
});
});
这里是控制器
public function dependent_dropdown2()
{
if(isset($_POST['TRANCHE']))
{
$data = $_POST['TRANCHE'];
$data1 = $_POST['GRADE'];
$this->output
->set_content_type("application/json")
->set_output(json_encode($this->EmployeeSalary_Model->getType2($data, $data1)));
}
}
为什么它不触发success函数?
可能是控制器没有向浏览器返回任何内容。请尝试不直接使用output
类。
public function dependent_dropdown2()
{
if(isset($_POST['TRANCHE']))
{
$data = $_POST['TRANCHE'];
$data1 = $_POST['GRADE'];
echo json_encode($this->EmployeeSalary_Model->getType2($data, $data1));
}
}
看起来提供给$.ajax
的数据结构也关闭了。
jQuery(document).ready(function () {
$("#GRADE").change(function () {
var posting = {TRANCHE: $('#TRANCHE').val(), GRADE: $('#GRADE').val()};
$.ajax({
type: "POST",
dataType: "json",
data: posting,
url: "<?php base_url(); ?>EmployeeSalary/dependent_dropdown2/",
success: function (data) {
console.log(data);
var select = $('#SAL_ID');
select.html('');
$.each(data, function (i, option) {
select.append("<option value='" + option.ID + "'>" + option.AMOUNT + "</option>");
});
}
});
});
});
在ajax调用中有一个小错别字。我认为你必须在ajax的数据对象中传递变量(TRANCHE,GRADE),而不是传递字符串("TRANCHE","GRADE")。下面是代码
jQuery(document).ready(function(){
$("#GRADE").change(function() {
var TRANCHE = {"TRANCHE" : $('#TRANCHE').val()};
var GRADE = {"GRADE" : $('#GRADE').val()};
console.log(TRANCHE);
console.log(GRADE);
$.ajax({
type: "POST",
dataType: "json",
data: {
TRANCHE : TRANCHE, //pass the variable
GRADE : GRADE
},
url: "<?php base_url(); ?>EmployeeSalary/dependent_dropdown2/",
success: function(data){
var select = $('#SAL_ID');
select.html('');
$.each(data, function(i, option){
select.append("<option value='"+option.ID+"'>"+option.AMOUNT+"</option>");
});
}
});
});
});
其余的看起来都不错。您可以通过像
这样打印post请求来调试post请求 public function dependent_dropdown2()
{
if(isset($_POST['TRANCHE']))
{
$data = $_POST['TRANCHE'];
$data1 = $_POST['GRADE'];
print_r($data1);
print_r($data2);
}
}
尝试从变量中删除对象,
jQuery(document).ready(function(){
$("#GRADE").change(function() {
var TRANCHE = $('#TRANCHE').val();
var GRADE = $('#GRADE').val();
console.log(TRANCHE);
console.log(GRADE);
$.ajax({
type: "POST",
dataType: "json",
data: {
TRANCHE : "TRANCHE",
GRADE : "GRADE"
},
url: "<?php base_url(); ?>EmployeeSalary/dependent_dropdown2/",
success: function(data){
var select = $('#SAL_ID');
select.html('');
$.each(data, function(i, option){
select.append("<option value='"+option.ID+"'>"+option.AMOUNT+"</option>");
});
}
});
});
});
---------------------- 添加返回码 -------------------
返回方法使用
public function dependent_dropdown2_asd()
{
if(isset($_POST['TRANCHE']))
{
$TRANCHE = $_POST['TRANCHE'];
$GRADE = $_POST['GRADE'];
$data=array('Responce'=>200);
header('Content-Type: application/json');
echo json_encode($data);
}
}
相关文章:
- 地理编码器 - IE8 中的编码问题
- 谷歌地图API地理编码器,受边界限制
- 将地理编码器的位置保存到数组中
- 在一个模式AjAX编码器中显示不同的Gallery
- 代码编辑器响应窗口
- 当点击一个标记时,地理编码器返回先前存储的值
- 谷歌地理编码器找到佐治亚州,而不是国家
- 如何防止谷歌地理编码器从其他国家/地区返回结果
- 防止在地理编码器谷歌地图API中循环
- 地理编码器仅适用于chrome,不适用于Firefox / IE / android
- 净化编码器中的输出
- 谷歌地理编码器返回错误的地址坐标
- 列出使用 Google 地图地理编码器 API 获取的一组地址
- 编码器点火器未验证输入文本
- 地理编码器 API 仅返回街道地址
- 如何在编码器中使用具有相同名称的多个输入插入数据
- 谷歌地图地理编码器,计算距离,
- Windows媒体编码器9插入(链接,脚本)处理
- Ajax请求没有使用编码器的响应
- Javascript没有响应编码器