2012-04-26 29 views
11

これは私の最初の投稿です。誰かが私を助けてくれることを願っています。 先週、私は私のプロジェクトに取り組んできました。どうやら、私は最後の部分に立ち往生しています。
基本的に、私はAJAXのチャットをしています。私が行を提出すると、私は(Postメソッドを使って)解析されるべき行全体を(analysis.phpという名前の)ファイルに送ります。
チャットラインが分析され、MySqlデータベースでクエリを実行して必要な変数が見つかりました。
私が今必要とするのは、この変数をJQuery-AJAXで取得してHTMLファイルのdivに入れることです(チャットの右端に表示されます)。ここでJQuery/AJAXを使用してPHPファイルから変数を取得

は、私のファイルは、以下のとおりです。だから、
analysis.php

<?php 
$advert = $row[adverts]; 
?> 

AJAX-chat.html

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>AJAX Chat</title> 

<link rel="stylesheet" type="text/css" href="js/jScrollPane/jScrollPane.css" /> 
<link rel="stylesheet" type="text/css" href="css/page.css" /> 
<link rel="stylesheet" type="text/css" href="css/chat.css" /> 

</head> 

<body> 

<div id="chatContainer"> 

    <div id="chatTopBar" class="rounded"></div> 
    <div id="chatLineHolder"></div> 

    <div id="chatUsers" class="rounded"></div> 
    <div id="chatBottomBar" class="rounded"> 
     <div class="tip"></div> 

     <form id="loginForm" method="post" action=""> 
      <input id="name" name="name" class="rounded" maxlength="16" /> 
      <input id="email" name="email" class="rounded" /> 
      <input type="submit" class="blueButton" value="Login" /> 
     </form> 

     <form id="submitForm" method="post" action=""> 
      <input id="chatText" name="chatText" class="rounded" maxlength="255" /> 
      <input type="submit" class="blueButton" value="Submit" /> 
     </form> 

    </div> 

</div> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script src="js/jScrollPane/jquery.mousewheel.js"></script> 
<script src="js/jScrollPane/jScrollPane.min.js"></script> 
<script src="js/script.js"></script> 
</body> 
</html> 

、私は基本的に取得しようとしていますanalysis.phpファイルからの$ advert(分析全体の後終了します)、JQuery/AJAXを使用して最終的にajax-chat.htmlファイルに渡します。 本当にありがとうございます。私はすべてを探検しましたが、私を助けるものは見つけられませんでした。 ありがとうございます。

+0

あなたのHTMLファイルには何も置くことはできません.AJAXが実行される前に、あなたのHTMLファイルは存在しません。ブラウザに送信され、独自の内部データ構造を作成します。あなたができることは、構造を更新するブラウザでJavscriptを実行することです。私はJQueryを話さないので、具体的にあなたにアドバイスすることはできません。 –

+0

あなたの答えをありがとう...ちょうどそれをもっと明確にする:このチャットは気分検出器のようなものだとしましょう。行が分析され、ユーザーの気分が良いことが分かった場合、$ advertは値「良い」を持ち、何とか取得してhtmlのdivに入れてユーザーに表示する必要があります。それがあれば、より明確になります。 – harris21

+0

はい、あなたがしようとしていることを理解しています。それは、Ajaxが解決するために発明された問題の種類です。私はあなたが思っていた概念的な間違いを警告しようとしていただけですが(私は間違っているかもしれない)、あなたは何とかそのHTMLファイルに何かをやっていたと思います。あなたはできません。そのHTMLから作成されたブラウザでDOMを変更するだけです。 –

答えて

31

私が正しく理解している場合は、JSONを使用する必要があります。ここにサンプルがあります。 PHPの書き込みで

$.ajax({ 
     url : 'myAjaxFile.php', 
     type : 'POST', 
     data : data, 
     dataType : 'json', 
     success : function (result) { 
      alert(result['ajax']); // "Hello world!" alerted 
      console.log(result['advert']) // The value of your php $row['adverts'] will be displayed 
     }, 
     error : function() { 
      alert("error"); 
     } 
    }) 
をそして、それがすべてです:あなたはjQueryのを使用している場合

<?php 
// filename: myAjaxFile.php 
// some PHP 
    $advert = array(
     'ajax' => 'Hello world!', 
     'advert' => $row['adverts'], 
    ); 
    echo json_encode($advert); 
?> 

すると、ちょうど書きます。これはJSONです。サーバーとユーザーの間で変数、配列、オブジェクトなどを送信するために使用されます。詳細はこちら:http://www.json.org/。 :)

+0

注: 'json_encode($ var)'にはPHP 5.2+が必要です。また、PECL 1.2+の拡張機能を持つPHP 4.3+も必要です。 @ erik1001また、OP http://php.net/manual/en/function.json-encode.phpのドキュメントをリンクする良いアイデア – Ozzy

+0

アラート(結果['ajax'])の代わりに、 $( '#the_div_I_want')を使用してください。 、この変数はこの特定のhtml divに表示されますか? – harris21

+0

それはもちろんです。サーバーサイドからHTMLを送信して、必要な場所に表示することもできます。'PHP/analysis.php'、 \t \t成功::機能(結果){ \t \t警告( "あなたが取得している – suricactus

関連する問題