我正在尝试使用AJAX GET方法发送变量,但无论我做什么都不会发送。 PHP文件总是返回3,这意味着在PHP文件中从未收到变量q。
<script type="text/javascript">
function myonclickhandler(t) {
var session = " <?php echo ($_SESSION['Username']); ?> ";
if(!(session==null))
{
var val = t.value;
if (t.checked) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var show = xmlhttp.responseText;
if(show==3)
{
alert(show);
}
}
};
xmlhttp.open("GET", "<?php echo site_url('Buyer_controller/ajax_cart_load?q='); ?>"+ 129, true);
xmlhttp.send();
}
}
}
</script>
Buyer_controller / ajax_cart_load
public function ajax_cart_load()
{
$this->load->helper('form');
$this->load->model("Cart_model", "cartm");
if(isset($_REQUEST["q"]))
{
$check = $_REQUEST["q"];
$result = $this->cartm->populate_cart($check);
$val = $result->value;
$name= $result->Brand." Gift Card";
$quantity= $result->Quantity;
$data2 = array(
'id' => $check,
'qty' => 1,
'price' => $val,
'name' => $name,
'options' => array('Quantity' => $quantity, 'PDID' => $check )
);
if($this->cart->insert($data2))
{
echo 1;
}
else
{
echo 0;
}
}
else
{
echo 3;
}
}
答案 0 :(得分:0)
事实证明,在$_REQUEST
中,变量的名称不是“q”而是“/ Buyer_controller / ajax_cart_load?q”。 $_GET
中变量的名称为“q”。所以我只是在PHP文件中使用$_GET
而不是$_REQUEST
,它就像一个魅力。 :)