如何在php变量中获取ajax结果?

时间:2015-05-22 04:42:53

标签: javascript php jquery html ajax

我想在php变量上获取ajax结果。请帮帮我。

Class A

Ajax代码

 <select name="type" onchange="showCustomer(this.value)">
      <option value="">---SELECT ITEM TYPE---</option>
      <option value="Food">Food</option>
      <option value="Beverage">Beverage</option>
    </select>

itemtype.php

<script>
function showCustomer(str) {
    var xmlhttp;    
    if (str === "") {
        document.getElementById("txtHint").innerHTML = "";
        return;
    }
    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else { // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
            document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","itemtype.php?q="+str,true);
    xmlhttp.send();
}
</script>

现在我想得到php变量的结果,例如: -

<?php echo $_REQUEST['q'] ?>

我想将ajax的结果导入<?php $iamvariable="<div id='txtHint'></div>"; echo $iamvariable ?> 并且我不知道如何获得它我只是尝试使用上面的代码而我无法得到它。他们有什么方法可以得到它吗?

2 个答案:

答案 0 :(得分:0)

使用它: -

<select name="type" id="type">
      <option value="">---SELECT ITEM TYPE---</option>
      <option value="Food">Food</option>
      <option value="Beverage">Beverage</option>
    </select>
   <div id='txtHint'></div>

这一行包含在标题中: -

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

在页面中编写此脚本: -

<script>
$(document).ready(function(){
    $("#type").on("change",function(){
        var data = $("#type").val();
        $.ajax({url: "itemtype.php",data:{type: data},
     type: 'post', success: function(result){
            $("#txtHint").html(result);
        }});
    });
});
</script>

itemtype.php

<?php echo $_POST['type']; ?>

答案 1 :(得分:0)

如果您想从ajax调用中获取结果并将其分配给,而不是以下行,

document.getElementById("txtHint").innerHTML = xmlhttp.responseText;

试试这个:

document.getElementById("txtHint").value = xmlhttp.responseText;

innerHtml指定元素的html内容。 value设置input元素的值。

使用jQuery的另一种方式:

$("#txtHint").val(xmlhttp.responseText);