我想从mysql表(只有一个字段)中获取一些数据,以便自动填充包含该数据的表单。
我有一个问题,ajax()返回ok(200),但它仍然运行我添加到它的错误函数。
$('#group_id').on('click', function() {
$.ajax({
url: "localhost/zamzamtravel/home/getPrevApplicantData",
dataType: 'json',
type: 'GET',
data: {group_id:1},
contentType: "application/json",
success: function(response,data) { alert(response); alert(data); },
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr);
alert(xhr.status);
alert(thrownError);
}
});
我从我的php脚本中获取json对象(我正在使用codeigniter)从我的控制器中获取:
public function getPrevApplicantData()
{
$this->output->set_content_type('application/json');
$data = $this->travel_model->getPrevApplicantData();
echo json_encode($data);
}
这是在模型中检索并返回到上述控制器函数的数据:
public function getPrevApplicantData()
{
$group_id = $this->input->get('group_id');
$this->db->select('general_info.address_telephone');
$this->db->from('general_info');
$this->db->join('groups', 'groups.group_id = general_info.group_id');
$this->db->where('general_info.group_id', 1);
$this->db->distinct();
$this->db->limit(1);
$this->db->order_by('general_info.customer_id','asc');
$res = $this->db->get();
return $res->result_array();
}
我附加到点击事件的输入类型是一个单选按钮:
<input type="radio" name="group_id" id="group_id">
(我想也许我不需要表格,只需制作一个普通按钮,当点击该按钮时它可以运行ajax功能?)
我在jQuery中的devtools中也遇到错误:xhr.send( ( s.hasContent && s.data ) || null );
在存储查询之后从模型函数返回的数组的结构如下:
Array
(
[0] => Array
(
[address_telephone] => 1 somehouse avenue-highpoint-nc-27262-3365550493
)
)
null
我真的很想知道什么是错的,我所要做的只是一个简单的获取和展示:P
答案 0 :(得分:0)
$.getJSON("http://localhost/zamzamtravel/home/getPrevApplicantData", {group_id: 1})
.done(function (data, response) {
alert(response);
alert(data);
})
.fail(function( xhr, textStatus, error ) {
var err = textStatus + ", " + error;
console.log( "Request Failed: " + err );
});
答案 1 :(得分:0)
我认为你的php的Json输出需要一个设置为200的状态项,然后使用响应对象来获取数据。
{
status : 200,
response:{
//data here
}
)