我正在尝试通过ajax jquery从数据库填充表单字段。 我使用Codeigniter。 我可以检索数据库值并将其作为此图像提醒数组。 alert of the data array 我的问题是如何通过JavaScript访问这个PHP数组值? 我想用js从这个数组填充表单字段。 感谢帮助:)
这是我的Javascript
$("#header3").on("click", ".edit_button", function(e) {
var site_path = $('#sitePath').val();
e.preventDefault();
var clickedID = this.id.split('_'); //Split ID string
var DbNumberID = clickedID[1]; //and get number from array
var myData = DbNumberID; //build a post data structure
//getting data for the form from accuse table
$.ajax({
url:site_path +'/queries/get_data_form3',
method:'POST',
data:{myData:myData},
success:function(data12)
{
alert(data12);
}
,
error:function (xhr, ajaxOptions, thrownError){
//On error, we alert user
alert(thrownError);
}
})
});
这是我的控制器代码
public function get_data_form3(){
$insert_id = $this->input->post('myData');
$this->load->model('queries1');
if( $posts_form3= $this-> queries1 ->getPostsFor_form3i($insert_id) ) {
print_r($posts_form3);
}else{
echo "failed";
}
}
答案 0 :(得分:1)
在服务器端返回这样的数据而不是print_r($ posts_form3);
echo json_encode($posts_form3);
像这样访问客户端的数据
success:function(data12)
{
var datas = JSON.parse(data12);
console.log(datas[0]['name']);
}
像这样访问数据
datas[0]['name']; datas[0]['address']; datas[0]['sex'];
答案 1 :(得分:1)
而不是print_r($posts_form3);
使用:
echo json_encode($posts_form3);
来自get_data_form3(){
函数的并在ajax中接收它:
success:function(data12)
{
var data = JSON.parse(data12);
}
您可以访问数据中的所有元素,如:
data[0].column
或data[0][column]
答案 2 :(得分:1)
您需要以JSON格式传递数据以获取ajax中的数据。请使用以下代码替换您的代码。
$("#header3").on("click", ".edit_button", function(e) {
var site_path = $('#sitePath').val();
e.preventDefault();
var clickedID = this.id.split('_'); //Split ID string
var DbNumberID = clickedID[1]; //and get number from array
var myData = DbNumberID; //build a post data structure
//getting data for the form from accuse table
$.ajax({
url:site_path +'/queries/get_data_form3',
method:'POST',
data:{myData:myData},
success:function(data12)
{
var getData = JSON.parse(data12);
console.log(getData);
}
,
error:function (xhr, ajaxOptions, thrownError){
//On error, we alert user
alert(thrownError);
}
})
});
以下是php代码。
public function get_data_form3(){
$insert_id = $this->input->post('myData');
$this->load->model('queries1');
if( $posts_form3= $this-> queries1 ->getPostsFor_form3i($insert_id) ) {
echo json_encode($posts_form3);
}else{
echo "failed";
}
}