解决方案 »

  1.   

    url参数进行一下编码 this.value改为 encodeURIComponent(this.value)
    还有个问题是你这个搞法script节点会越来越多,可能会有性能问题
      

  2.   


    url参数进行一下编码 this.value改为 encodeURIComponent(this.value)   这样还是不行啊,ie6咋还是报错啊。还是这个鬼德行还有个问题是你这个搞法script节点会越来越多,可能会有性能问题    这个谢谢,后期会改进!
      

  3.   


    为啥ie6查询不到内容啊,别的浏览器都是好的,ie7都能查到,这个问题咋解决啊
      

  4.   

    [1, 2, 3,] 猜是 json 数组最后多了一个逗号
      

  5.   

    仔细看了一下代码(为何只帖图不帖代码)原因:百度 suggestion 默认是 gbk 编码,你的页面是 utf8,这是编码冲突,ie6 没有处理应答的:Content-Type请求的时候可以加一个参数指定返回的字符集    script.src = 'http://suggestion.baidu.com/su?wd=' + encodeURIComponent(this.value) + '&cb=fn&ie=utf-8';
      

  6.   

    测试了一下,没有问题
    不过对方返回的是 gbk 数据,utf-8 页面要注意设置一下<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <body>
    <ul id=oUl>
    </ul>
    <script>
    function fn(data) {
      var content = data.s;
      for(var i=0; i<content.length; i++) {
        var aLi = document.createElement('li');
        aLi.innerHTML = content[i];
        oUl.appendChild(aLi);
      }
    }
    function jsonp(v) {
      oUl.innerHTML = '';
      var script = document.createElement('script');
      script.src = 'http://suggestion.baidu.com/su?wd=' + v + '1&cb=fn';
      script.charset = 'gbk'; //不过你少了这个
      document.body.appendChild(script);
    }
    jsonp(31);
    </script>