0

ページ要素はこのように定義されています。

<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 スクリプトが正しい情報を取得していることを示しています。ただし、ページ要素は更新されません。$titlefe要素 idに追加する別の方法はありtitlefeますか?

4

4 に答える 4

0

eval(response);成功のコールバックでアラートの後に試してください。

于 2012-05-04T00:30:39.753 に答える
0

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

PHP の return ステートメントは次のようになります。

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

成功のコールバックは次のようになります。

success: function(response) {
   $('#titlefe').text(response.titlefe);
   $('#readfe').text(response.readfe);
}
于 2012-05-04T00:31:07.737 に答える
0

JavaScript を返すことに固執する場合getScript()は、Ajax get の代わりに使用する必要があります。

于 2012-05-04T00:32:17.770 に答える
0

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

<?php

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

echo json_encode($params);

また、jQuery 関数$.getJSON()もあります。これは、あなたのような $.ajax() 関数の使用法のショートカットです。

于 2012-05-04T00:38:28.130 に答える