ajax jquery错误显示[object Object]

时间:2018-06-05 09:45:34

标签: javascript jquery ajax

此代码在某些电脑中正常工作 我有基本的ajax调用来显示选择标记

中的批处理列表
function show_batch(class_id,batch_id){
    if(class_id){
        $.ajax({
            url:root_path+"module/fee_dtl/show_batch.php",
            data:"class_id="+class_id+"&batch_id="+batch_id,
            type:"post",
            success:function(e){
                $('#stu_batch').html(e);
                $('#stu_batch').removeAttr('disabled');
                search();
            },error(e){
                alert(e);
            }
        });
    }else{
        $('#stu_batch').attr('disabled','disabled');
        $('#stu_batch').html("<option value=''>Select Class First</option>");
        search();
    }
}

我期待我的stu_batch id select标签中的批处理列表

<?php 
 session_start(); ?>
 <option value="">Select Batch</option>
 <?php 
 $phpfiles=glob("../../include/php/*.php");
 foreach ($phpfiles as $phpfile) {
     include_once($phpfile);
 }
 extract($_POST);
 $batch_data=fetchAll("select id,name from batch where class_id=$class_id");
 foreach ($batch_data as $batch_value) {
?>
    <option <?php if(isset($batch_id)&& $batch_id==$batch_value['id']){echo "selected";} ?> value="<?php echo $batch_value['id'];?>"><?php echo $batch_value['name'];?></option>
<?php
 }

&GT?; 这是我的show_batch.php文件代码

<td>Select Class                     
                    <select onchange="show_batch(this.value,'')"  class="form-control"  id="stu_class" name="class_id">
                    <option value="">Please Select Class</option>
                    <?php 
                        $class_data=fetchAll("select id,name from class");
                        foreach ($class_data as $class_value) {
                    ?>
                            <option <?php if((isset($_POST['class_id']) && $_POST['class_id']==$class_value['id']) || ($id && $class_fee_dtl['class_id']==$class_value['id'])){echo "selected";} ?> value="<?php echo $class_value['id']; ?>"><?php echo $class_value['name'] ?></option>
                        <?php }?>
                </select>
                </td>
                <td>Select Batch 
                    <select class="form-control" disabled onchange="search()" id="stu_batch"  name="batch">
                    <option value="">Select Class First</option>
                    </select>
                </td>

这些是我的两个。在第二个下拉列表中,我想显示ajax列表

3 个答案:

答案 0 :(得分:1)

您需要从PHP代码中返回一些结果

 session_start();
 $phpfiles=glob("../../include/php/*.php");
 foreach ($phpfiles as $phpfile) {
     include_once($phpfile);
 }
 extract($_POST);
 $batch_data=fetchAll("select id,name from batch where class_id=$class_id");
 $finalHtml = '<option value="">Select Batch</option>';
 foreach ($batch_data as $batch_value) {
    $selected = (isset($batch_id) && $batch_id == $batch_value['id']) ? 'seelcted' : '';
    $finalHtml .= '<option selected="'.$selected.'" value="'.$batch_value['id'].'" />'.$batch_value['name'].'</option>';
 }
 echo $finalHtml;

同样在您的Jquery代码中,您需要附加选项

$('#stu_batch')
.find('option')
.empty()
.append(response);

答案 1 :(得分:0)

执行console.log()您的Ajax结果以检查其返回的内容。然后将其绑定到html。

答案 2 :(得分:0)

您必须检查show_batch.php结果集,该结果集在完成ajax调用后返回。它似乎正在返回一个对象,并试图将选项填充到选择标记中。

其中一种方法是将结果不作为对象返回,而是在show_batch.php文件中尝试此方法

$option = "";
$option .= "<option value='$val'>".$res."</option>";
echo $option;
exit;

现在在ajax成功函数中会显示它。请注意,上面给出的代码只是您需要根据需要进行修改的示例。