【发布时间】:2018-12-13 06:57:14
【问题描述】:
我遇到了奇怪的情况,我进行了一个 ajax 调用,它工作正常,状态为 200,我从 php 函数中获取数据是正确的。但它没有打印在console.log 中,也没有附加到我的<select name"a" id="section_id">..Response should append here..</select> 标记中。
脚本
$("#student_class").change(function () {
var class_id = this.value;
var url = $("#student_class").attr("data-base_url");
$.ajax({
url: url,
type: 'POST',
data: { class_id: class_id},
dataType: 'JSON',
success: function(response) {
// This console.log(response) not printing anything.
console.log(response);
if(response.success === true){
$("#student_class_section_id").append(response.html_string);
}
}
});
});
PHP
public function show_class_sections(){
$class_id = $_POST['class_id'];
$data = array("success" => false, "html_string" => "");
$result = array();
$result = $this->admin_forms->get_class_sections($class_id);
if(!empty($result)){
$data['success'] = true;
$data['html_string'] = $result;
}
echo json_encode($data);
}
Ajax 响应的图像
请求成功后为什么要打印整个html页面
【问题讨论】:
-
在您的控制台选项卡中,应该有一个
Default levels组合框。检查哪些日志级别?如果info未被选中,这可以解释为什么记录的文本没有显示在控制台中。 -
有默认、详细、信息、警告、错误。最后三个被检查
-
好吧,那不是没有记录文本的原因。
标签: javascript php ajax console