更新 php 脚本中的页面元素

Updating a page element in a php script

本文关键字:元素 php 脚本 更新      更新时间:2023-09-26

Page 元素是这样定义的。

<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

除了MK_Dev发布的内容之外,您还可以使用 PHP 函数 json_encode();

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

还有一个jQuery函数$.getJSON(),它是$.ajax()函数用法的快捷方式,就像你一样。

在成功回调中发出警报后尝试eval(response);

返回javascript方法不是一个好主意。您应该以 JSON 格式返回数据,并在客户端使用 javascript 来执行实际更新。

您的 PHP 返回语句应如下所示:

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

您的成功回电应如下所示:

success: function(response) {
   $('#titlefe').text(response.titlefe);
   $('#readfe').text(response.readfe);
}

如果你坚持返回 JavaScript,你应该使用 getScript() 而不是 Ajax get。