我想知道是否可以在 mysql 数据库上进行服务器端选择并将结果直接注入(inject) HTML5 session 存储而不使用 ajax。场景如下:
假设服务器端脚本正常,因此:
header( "Content-type: application/json" );
$jsondata = array();
while ($Row = mysql_fetch_array($params))
{
$jsondata[]= array('field1'=>$Row["field1"],
'field2'=>$Row["field2"],
'field3'=>$Row["field3"],
'field4'=>$Row["field4"]);
};
echo json_encode(array("eeData" => $jsondata));
通常,如果这是 ajax,我会等待响应,然后我可以解析结果并以这种方式处理它。但该方法是在客户端发起的,实际上是对服务器的第二次请求。
但是,我想知道这是否可以在页面的绝对初始请求中实现,即在第一次请求时,获取数据并以某种方式在页面首次提供的同时将其直接注入(inject) session 存储.
原理不明之处请大家指正。
最佳答案
网络服务器究竟应该如何进入浏览器来存储这些数据?在 websockets api 变得更加广泛之前,服务器向客户端发送数据的唯一方式是在客户端发起请求时。您不能只是“接触”浏览器并将数据填充到其中。
如果您希望在初始页面请求期间这样做,您始终可以将数据嵌入到正在发送的页面中
<script>
var data_to_store = <?php echo json_encode($your_structure) ?>;
</script>
它会创建一个“胖”页面,但它会在同一个请求中发送数据。任何其他方法都需要与服务器建立第二个连接。
关于php - 我可以从服务器端选择的数据直接将数据注入(inject) session 存储吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7367653/