php - 通过ajax返回大量的html(带有几个变量)?

标签 php javascript ajax

我有一个ajax函数在一个大数据库中搜索关键字。如果没有任何记录,被调用的 php 会简单地说“不”,但如果找到记录,它会继续创建所有 HTML 并返回 html,这样 AJAX 只需要将返回的文本放入 div 的 html 中。我的问题是我想传递几个变量,例如找到的记录数等。

因此,如果我尝试将其放入 javascript 可以 eval 的语句中,恐怕不仅所有 html 都可能大到足以导致某种变量问题,而且它还有很多单一和双引号等,可能会意外地提前结束变量。请参阅以下内容

// (I know I don't have a single quote after data and that will break it. This is just an example
echo "{ status: 'success', total: '".count($relevance)."' data: ";
foreach ($relevance as $re) {        
    // tons of html is printed here
}
echo " }";

所以问题是,如何最有效地发回一整组 html 代码,以及一些可以通过 JS 轻松评估的变量?

最佳答案

使用json_encode这将消除您在尝试创建自己的 json 时可能遇到的任何错误。

$returnArray = array(
    'status'=>'success',
    'total' => count($relevance),
    'data' => ''
);

foreach ($relevance as $re) {        
    $returnArray['data'] .= $re; // + all long html code
}

echo json_encode($returnArray);

关于php - 通过ajax返回大量的html(带有几个变量)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8477140/

相关文章:

javascript - IE11 中的间歇性 AJAX 文件上传失败 - F12 工具无限期地显示 "Pending..."

javascript - onmouseover 与 ajax 不工作

javascript - jquery按钮点击事件后,php脚本的响应消失

php - 如何将输入发送到 URL(其他人的服务器)并取回输出以用于我的 PHP?

PHP:文本 explode ()问题

javascript - Fetch API 不适用于 Microsoft Edge 中的非英文字符

java - CommandLink 与 JSF Ajax 需要点击 2 次

php - 在PHP中将一个图像添加到另一个图像的底部

javascript - 使用++ 和 +1 作为参数的区别

javascript - MarkLogic 服务器端 JavaScript 中的 XQuery 序列等效项