本帖最后由 mlsg2011 于 2011-06-07 15:42:04 编辑

解决方案 »

  1.   

    IE--internet选项--安全性(本地)--自定义级别----查到“跨域”的几个都启用
      

  2.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
        <html>  
            <head>  
                <title>google.html</title>  
                <meta http-equiv="content-type" content="text/html;charset=GBK">  
                <script type="text/javascript" src="js/jquery-1.3.2.js" charset="GBK"></script>  
         
               <script type="text/javascript">  
                   var line = 0;  
                   var oldValue = '';  
                   function del() {  
                       if ($("#newDiv")) {  
                           $("#newDiv").remove();  
                           line = 0;  
                       }  
                   }  
                 
                   $(document).ready(function() {  
                       //文本框失去焦点时层消失  
                           $(document.body).click(function() {  
                              del();  
                           });  
                   });  
                 
                   function vchange() {  
                      //alert("value change");  
                       del();  
         
                       //定位DIV  
                       var top = $("#key").offset().top;  
                       var left = $("#key").offset().left;  
                       var newDiv = $("<div/>").width($("#key").width() + 6).css(  
                               "position", "absolute").css("backgroundColor", "white")  
                               .css("left", left).css("top", top + $("#key").height() + 6)  
                               .css("border", "1px solid blue").attr("id", "newDiv");  
         
                       /*过滤非法字符输入*/  
                       if($("#key").value != ""){  
                           //alert(oldValue);  
                             
                           /*过滤同名多次查询*/  
                           if ($("#key").val() != oldValue) {  
                               oldValue = $("#key").val();  
                               var url = 'tsearch.action';  
                               var params = {  
                                       //POST参数编码处理  
                                   key : encodeURI($("#key").val())  
                               };  
                               jQuery.post(url, params, callbackFun, 'json');  
                           }  
                           $(document.body).append(newDiv); //添加DIV  
                       }  
         
                       if ($("#key").val() == "") {  
                           $("#newDiv").remove();  
                       }  
                   }  
                 
                   //回调函数  
                   function callbackFun(data) {  
                       var table = $("<table width='100%'/>").attr("cellpadding", "0").attr(  
                               "cellspacing", "0");  
                       if (data.result == "") {  
                           //alert("你的关键字有误!");  
                           var tr = $("<tr/>");  
                           var td1 = $("<td/>").html("记录为空").css("fontSize", "12px")  
                           .css("margin", "5 5 5 5");  
                          tr.append(td1);  
                           table.append(tr);  
                           $("#newDiv").append(table);  
                       } else {  
                           var array = data.result.split(",");  
                           for ( var i = 0; i < array.length - 1; i++) {  
                               //alert(array[i]);  
                              var tr = $("<tr/>").css("cursor", "pointer").mouseout(  
                                       function() {  
                                           $(this).css("backgroundColor", "white").css(  
                                                   "color", "black");  
                                       }).mouseover(  
                                       function() {  
                                           $(this).css("backgroundColor", "blue").css("color",  
                                                   "white");  
                                       }).click(function() {  
                                   $("#key").val($(this).find("td").eq(0).html());  
                                   del();  
                               });  
                                 
                               var td1 = $("<td/>").html(array[i]).css("fontSize", "12px")  
                                       .css("margin", "5 5 5 5");  
                               tr.append(td1);  
                               table.append(tr);  
                               $("#newDiv").append(table);  
                           }  
                       }  
                   }  
             </script>  
           </head>  
         
           <body>  
             <h1>Google搜索</h1>  
              <div style="margin-top: 20px; margin-left: 30px">  
                 请输入搜索关键字:  
                  <input name="key" id="key" onkeyup="vchange()" style="width: 300">  
                  <input type="button" value="Goolge一下">  
              </div>  
          </body>  
     </html>  下载jquery-1.3.2.js
    放js文件夹下 保存HTMl看效果
      

  3.   

    楼上的好,我现在让数据可以跨域回来了。设置了一个回调函数,可是程序在执行的时候就跑到回调函数里边去了,不再执行接下来的程序,还是无法返回。现在就差这一哆嗦了,请问能给些意见吗?万分感谢!
    function jsonpcallback(data)
    {
        alert(data);                // 已经可以返回JSON数据了,可是无法执行下面的的代码
    }jQuery("#input_bg").autocomplete
      (
      'http://s.xxx.cn/Search/Find',  {
      httpMethod: "POST",  //POST 或者GET 都会返回拒绝访问
      max: 15,
      scroll: true,
      dataType: "jsonp",
      jsonp: "jsonpcallback",  // 执行到这里就跑到jsonpcallback函数里去了,下面的代码不执行  formatItem: function (row, i, max) {
      var obj = eval("(" + row + ")"); //将JSON转换成对象
      var item = "<table id='auto" + i + "' border='0' cellpadding='0' cellspacing='0' style='width:100%;'>";
        item += "<tr>";
          item += "<td align='left'>" + obj.value + "</td>";
          item += "<td align='right' style='color:green;'>" + obj.num + "</td>";
          item += "</tr>";
        item += "</table>";  return item;
      },  // 格式化结果,当选中时返回具体的值
      formatResult: function (row, i, max) {
      var obj = eval("(" + row + ")");
      return obj.value;
      }
      });