IE8 / 9没有渲染ajax调用返回

时间:2014-04-26 14:53:44

标签: ajax internet-explorer-8

我正在使用的网站上有很多ajax调用,但出于某种原因,IE8 / 9似乎与此问题有关。

它适用于所有其他浏览器,包括IE10 / 11。

对于IE8 / 9,我已经使用Firebug进行了检查,它确实将数据发送到远程php文件,然后将其接收回来,甚至在Firebug控制台中正确显示HTML,但在目标标记处给出了空白

我也尝试输出纯文本,但没有用。

我查了一下,发现了其他一些关于Ajax调用的IE8 / 9问题,但不是这个问题。

这是ajax调用:

$(document).ready(function(){
$(".hook").change(function(){
pass_id=(this.value);
var seltop = $(this).attr('id');
var selbot = "";
var lastchar = seltop.slice(-1);
var url = "url";
if ( seltop.substring(0,1)=="b"){
    selbot = "model" + lastchar;
    url = "select_model.php";
}
else {selbot = "version" + lastchar;
        url = "select_version.php" ; }
$.ajax({
    type: "POST",
    dataType:"html",       
    url: url,
    beforeSend: function () {
  $("#"+ selbot).html("<option>Loading ...</option>");
    },
    data: {passval:pass_id, pass2:selbot},
   success: function(data){
     $("#"+ selbot).html(data);
   }
   });
 });
 });

这是远程php文件的输出:

<select id = "<?php echo $model ; ?>" name="model_id" >
<option value="">Modèle</option>
<?php


            while ($r= $stmt->fetch(PDO::FETCH_ASSOC)) {
                            $out="<option value='".htmlentities($r['model_id'],   ENT_QUOTES, 'UTF-8')."'>".htmlentities($r['model'], ENT_QUOTES, 'UTF-8')."</option>";
                            echo $out;
                            }
?>
</select>

上面的典型输出如下:

<select id = "model9" name="model_id" >
<option value="">Modèle</option>
 <option value='96'>Cruze</option>
</select>

目标标记如下所示:

<td class="trim">
<div class="comp_select">
<select class="hook" name="model_id" id="model9" > 
<option  value="">Modèles</option></select>
</div>
</td>

我相信所有人都应该知道。

感谢您的协助。

0 个答案:

没有答案