0

当我单击一个链接时,它会重定向到一个 PHP 文件。内容以 JSON 格式加载和获取并显示。那里没有问题。

但是,在所有版本的 IE 中,内容都会在"undefined"内容之前显示一个字符串,该字符串以$.post(JSON).

注意:在请求的 PHP 文件中,数据以json_encode().

jQuery代码:

$(".letter").click(function(e){
    e.preventDefault();
    $.ajaxSetup({cache:false});
    var letter= $(this).text();
    $.post("http://localhost/ajax.php/", {letter:letter},function(data) {
       var listdata;
       $.each(data, function(i,item) {
            listdata += "<tr>";
            listdata += "<td>"+item.book_name+"</td>";
            listdata += "<td>"+item.author+"</td>";
            listdata += "</tr>";
       });
      $("#result").empty();
      $("#result").html(listdata);
    },"json"
   );
});

HTML 代码:

<div id="letters">
  <span class="letter">A</span>
  <span class="letter">B</span>
  <span class="letter">C</span>
  <span class="letter">D</span>
</div>
<h3>My Books </h3>
<table id="result"> </table>

在 IE 浏览器中,显示如下:

My Books 
undefined  

| Science and Tech | Author1 |
| Web Development  | Author2 |  

我该如何解决这个 IE 问题?

4

1 回答 1

3

默认情况下,您必须初始化listdata为一个空字符串var listdata = '';,它是未定义的。

于 2013-01-26T18:06:29.817 回答