2011-12-29 9 views
0

私はこの半分以上の日に悩んでいます。何が間違っているのか分かりません。私は他のJavaScript関数、PHPコードなどを取り除きました。まだ何も返さずに非同期呼び出しではなく、ページの再読み込みを取得します。 FirebugはXHR呼び出しも表示しません。Jquery - Ajaxはうまくいきません。

Jqueryが正しくロードされ、他の機能で正常に動作します。ちょうどajaxまたはjSON呼び出しは、非同期で動作しません。

私はキー押し機能を単純なボタンクリックハンドラと同じ結果に変更しました...何もありません。

「findmatch.php」ページを直接ロードすると、適切な結果が生成されます。

この同じディレクトリ内の別のプログラムは、多くのajaxとjSON呼び出しを楽に使い、完璧に呼び出します。同じdoctype、jqueryの同じバージョン、同じ構造のajax呼び出し....私は大変なことにうんざりしています。私は本当に愚かなエラーを探し続けています。なぜなら、これはこれらのものが傾向にあるからです...運がないからです。

 <script type=text/javascript> 
     $(document).ready(function() { 

    $('#searchtext').live('keypress',function(e) 

    {  if (e.which == 13)   { 
       mysearch=$("#searchtext").val();   if(mysearch=="")   { 
         alert("Trying typing something in the box, ok?");   }   else   { 
        $.ajax({ 
        url: 'findmatch.php',       
        data: 'x='+mysearch,    
        dataType: 'html', 
        success: function(res)   
        { 
         alert(res);  

         if(res.length>0) 
         { 
          buildit="<table><tr><td>id</td>td><b>Machine Name</b></td></tr>"; 

          buildit=buildit+res+"</table>"; 

          $("#searchresults").html(buildit); 

          $("$searchtext").focus(); 
         } 
         else 
         { 
          $("#searchresults").html("No Results Found"); 
          $("#searchtext").focus(); 
         } 
        } 
        });    } 
          }  }); 


    }); 

    </script> 

</head> 

<body> 


<div class="searchy"> 
<h3>Search for an existing record?</h3> 

<form> 
Enter a Machine Name to search for, such as "bl-psy-srv" or "psy-srv" or something similar. A partial name will return appropriate matches. Hit Enter to submit. 
<br /> 
<input type=text id="searchtext" size=30> 
</form> 

</div> 

<div class="searchy" id="searchresults"> 
</div> 
+0

フィドラーのトラフィックのショーを何? – asawyer

答えて

1

#searchtextは形式ですか?私は、Enterはフォーム上でサブミットアクションを引き起こし、あなたはそれを妨げていないと思う。 e.preventDefault()を挿入してみてください。

無関係、あなたはおそらく、URLエンコードするmysearchをしたい、またはより良いまだ、単にオブジェクトを使用する - jQueryのは、適切な形式に変換するのに十分なスマートです:{ x: mysearch }

+0

omg ... e.preventDefault()がトリックを行いました。時間、私はあなたに言う、私はこれを乱した時間。 :)私は実際にそれが何かのようなものだと考えていたが、if(e.which == 13){}がそれを処理したという確信を感じた。 *一口* ありがとうございました!私の精神的なjQueryデータバンクを守るもう一つのこと。 – Steve

関連する問題