我有一个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/