【发布时间】:2018-05-11 13:28:24
【问题描述】:
<option value="Petrol/Diesel">Petrol</option><option
value="Petrol/Diesel">Diesel</option>
是我在 chrome>network 中看到它时生成的输出。
不能使用'in'操作符来搜索'length' in
或者我得到上述错误。代码工作正常,直到<script> 中的成功,我从这里做错了什么?
$.each(JSON.parse(result), function() {
$('#fuel').append(result);
});
型号:
public function getFuel($modelid, $variant)
{
$query= "SELECT * FROM `pms_details` WHERE `model_id` = '".$modelid."' AND `Variant` LIKE '".$variant."' ORDER BY `pms_id` ASC";
$result = $this->db->query($query);
return $result->result();
print_r($result->result());
}
查看:
<select id="fuel" onchange="getKm()" >
<option value="na">Fuel</option>
</select>
<script>
function getFuel() {
var getVariant = $('#variant').val();
var car_model = $('#car_model').val();
console.log("this is inside get Fuel");
console.log(car_model);
console.log(getVariant);
$.ajax({
url: "<?php echo base_url() ?>pms1/getFuel/"+car_model+"/"+getVariant,
dataType: "html",
success: function(result) {
$('#fuel').html('<option>SELECT</option>');
$.each(JSON.parse(result), function() {
$('#fuel').append(result);
});
}
});
}
</script>
控制器:
public function getFuel($modelid, $variant)
{
$car_model = $modelid;
$getVariant = $variant;
$this->load->model('M_address');
$fuel = $this->M_address->getFuel($modelid,$variant);
$fuel_list = array();
foreach ($fuel as $fuels)
{
array_push($fuel_list, $fuels->fuel);
}
$fuel_list = array_unique($fuel_list);
// echo '<option value="na">Fuel</option>';
foreach ($fuel_list as $fuel)
{
$ts = explode('/', $fuel);
$ss = count($ts);
foreach($ts as $tt)
{
echo '<option value="' . $fuel . '">' . $tt . '</option>';
//I've tries adding json_encode on the above line.
}
}
}
【问题讨论】:
-
Cannot use 'in' operator to search 'length' in... 或者我得到 Uncaught SyntaxError: Unexpected token 之后我做错了什么
-
result是一个包含 HTML 的字符串。这就是为什么您无法将其解析为 JSON... -
删除此错误 - 未捕获的 TypeError: Cannot use 'in' operator to search 'length' in - 那应该怎么办?
-
那么你为什么要这样做呢?响应是一个 HTML 字符串。首先不需要调用
$.each来生成该错误 -
是的,我明白了。如果没有 $.each 行,我将无法获得输出。所以我更喜欢只使用json。感谢您的帮助
标签: jquery ajax codeigniter