我有两个需要做的ajax请求会返回两个数据元素,我只想在页面加载时抓取它们一次
我正在考虑这种方法,但我想知道是否有更好的
$(document).ready(function(){
$.get("/shop_possystems/index.php?route=module/cart/get_subtotal",
function(data) {
});
$.get("/shop_possystems/index.php?route=module/cart/get_tax",
function(data) {
});
});
问题是如何将这些数据传送到我的php页面,所以我想的另一件事就是沿着这些方向
<script type="text/javascript">
$.get("/shop_possystems/index.php?route=module/cart/get_subtotal",
function(data) {
<?php $subtotal = data; ?>
});
$.get("/shop_possystems/index.php?route=module/cart/get_tax",
function(data) {
<?php $tax = data; ?>
});
</script>
正如你所看到的,我正在尝试在php页面中添加一个脚本标记,并试图在这里设置值....两种方式看起来都有点hacky,更不用说第二种方法可能甚至没有正确的语法。 ......任何建议
答案 0 :(得分:1)
如何将这些数据传送到我的php页面,这是另一回事
您对index.php
的请求会返回数据。因此index.php
已经包含了页面中的数据。只需让该页面处理数据所需的内容。
将数据从js发送到PHP的唯一方法是$.post
请求。
这样做可以解除两个获取请求。
$(function() {
$.get(..);
$.get(..);
});
您还可以让PHP在您执行初始页面加载请求时获取该信息,并将数据直接注入HTML。
答案 1 :(得分:1)
您的第一种方法是在页面加载时发出请求。
加载页面后,您无法在页面上使用PHP执行任何操作。 PHP是一种服务器端脚本语言,就浏览器而言,它只是纯文本。如果您需要使用服务器上的调用结果,那么您需要将其POST回服务器或获取呈现当前页面的PHP脚本中的内容(而不是使用ajax)。