2012-05-04 9 views
0

Page要素は次のように定義されています。PHPスクリプトでページ要素を更新する

<div id="readf" class="tabbertab"> 
<h2>First Reading</h2> 

    <div id='titlefe' class='rtitle'> 

    </div> 
    <div id='readfe' class='rtext'> 

    </div> 

</div> 

これらのページ要素にデータを追加するためにphpスクリプトへのajax呼び出しを行います。

<script> 
    $('#readings').ready(function(){ 
    $.ajax({ 
     url: "loadenglish.php", 
     type: "GET", 
     data: { }, 
     cache: false, 
     async: true, 
     success: function (response) { 
      if (response != '') 
      { 
       alert (response); 
      } 
     }, 
     error: function (request, status, error) { 
      alert ("status "+status+" error "+error+"responseText "+request.responseText); 
     }, 
    });  

    }); 
</script> 

phpスクリプトはデータを取得し、スクリプトエコーでデータを追加します。

<?php 
    $titlefe = 'text 1'; 

    $readfe = 'text 2'; 

    echo "<script type='text/javascript'> $('#titlefe').append('".$titlefe."'); $('#readfe').append('".$readfe."'); </script>"; 
?> 

警告文は、phpスクリプトが正しい情報を取得することを示しています。しかし、ページ要素は更新されません。要素ID titlefe$titlefeを追加する別の方法はありますか?

答えて

0

MK_Devが投稿したものに加えて、PHP関数json_encode()を使用できます。

<?php 

//loadenglish.php 
$params = array(
    'titlefe' => 'text 1', 
    'readfe' => 'text 2', 
); 

echo json_encode($params); 

はまた$アヤックス()あなたのような機能を使用するためのショートカットであるjQueryの機能$.getJSON()、そこにあります。

+0

これは、 'datatype: 'json''を含むようにajax呼び出しを更新すると機能します。そして、私はページ要素の 'response.titlefe'と' response.readfe'で情報を取り出すことができます。ありがとう。 – user823527

0

お試しくださいeval(response);成功コールバックで警告してください。

0

JavaScriptのメソッドを返すことはお勧めできません。 JSON形式でデータを返し、クライアント側でjavascriptを使用して実際の更新を実行する必要があります。

あなたのPHPのreturn文は次のようになります。

echo "{ 'titlefe': '" + $titlefe + "', 'readfe': '" + $readfe + "' }"; 

とバックあなたの成功の呼び出しは次のようになります。

JavaScriptを返すことを主張した場合
success: function(response) { 
    $('#titlefe').text(response.titlefe); 
    $('#readfe').text(response.readfe); 
} 
+0

JavaScriptを返す必要がある状況があります。 I.E.、jsonp、iframeフォームの提出など –

+0

このためにajaxを更新する必要がありますか? – user823527

+0

コールバックを更新するだけです。 –

0

、あなたはgetScript()の代わりを使用する必要がありますAjaxが取得します。

関連する問題