【发布时间】:2017-09-13 03:58:31
【问题描述】:
我想从 ajax 调用控制器并将 POST 发送到数据库。发送 POST 后,我会将数据库显示到下拉列表中。
但我不知道该怎么办。这是我的代码。
视图内的 ajax 脚本 add_produk.php
<script>
function getId(val){
// ajax function
$.ajax({
type: "POST",
url: "<?php base_url();?>index.php/getdata",
data: "id_kategori="+val,
success: function(data){
$("#subcat").html(data);
}
});
}
</script>
我想加载控制器 getdata.php 并将 $_POST 发送到这个控制器,控制器 getdata.php :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Getdata extends CI_Controller
{
public function index()
{
if(!empty($_POST["id_kategori"])){
$idcat = $_POST["id_kategori"];
$sql = "SELECT * FROM sub_kategori WHERE id_kategori = $idcat";
$result = $this->db->query($sql);
foreach ($result as $subcat) {
?>
<option value="<?php echo $subcat["id_sub_kategori"];?>"><?php echo $city["nama_sub_kategori"];?></option>
<?php
}
}
}
}
?>
我该如何解决我的问题?
【问题讨论】:
-
你能真正加载文件吗?我不建议在您的
ajax脚本中添加 PHP 代码。 (<?php base_url();?>index.php/getdata) 为什么不直接使用正斜杠呢?这是大多数服务器的“基本网址” -
@Samuel : 你是说
<?php base_url();?>getdata这样吗? -
@Samuel:你有示例代码吗?
-
你是什么意思?
-
我的意思是如果你有一个可以解决我的问题的示例代码,你可以给我看。
标签: javascript php html mysql ajax