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 返回语句应如下所示:

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 回答