没有使用AJAX和&刷新的PHP-POST jQuery的?

时间:2014-07-03 11:37:12

标签: javascript php jquery ajax xml

目前我正在处理从xml文件中读取数据的php脚本。用户首先必须使用下拉菜单选择他想要获取更多信息的xml条目,然后通过单击提交按钮将表单发送到同一个php页面。由于页面重新加载,因此可以看到POST已发送某些内容,然后可以向页面底部的xml条目显示所请求的信息。

但我想让它更加用户友好。这个想法是,当有人从下拉列表中选择一个条目时,显示所请求的信息而不必单击提交按钮,当然也无需重新加载整个页面。这意味着POST表单将在后台发送,并且在从下拉列表中选择项目后会立即显示信息。

我知道这可以使用jQuery和AJAX,但我并没有真正体验过这些语言之一。有人知道如何解决这个问题? :)

由于

2 个答案:

答案 0 :(得分:1)

您可以在按钮上使用以下代码: -

<div id="result"></div>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>

jQuery.ajax({
        url:'TO YOUR PHP PAGE',    
        type:'POST',
        data:'id='+id,
        success:function(results)
        {
            jQuery("#result").html(results); 

        }
    });

答案 1 :(得分:1)

将主要文件中的js代码复制到下拉列表中: -

<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>  
<script type="text/javascript">
    $(document).ready(function(){
        $('select').change(function(){
            var dwxvar = $(this).val();
            $.ajax({
              type: "POST",
              url: "http://localhost/dwx/phpcodefile.php",
              data: {dwx:dwxvar},
              cache: false,
              dataType: 'json',
              success: function(data_val){
                alert(data_val);
                $("#result").html(data_val); 
              }
            });
        });
    });
</script>

我假设这是你的下拉菜单: -

<select>
    <option value="1">Value 1</option>
    <option value="2">Value 2</option>
    <option value="3">Value 3</option>
    <option value="4">Value 4</option>
</select>

你必须使用输出所需的唯一代码(php)制作一个单独的php文件(比如 phpcodefile.php ): -

<?php
    $varname = $_POST["dwx"]; // this is the same variable which we have sent here data: {dwx:dwxvar},
    // -- now using this value perform whatever action you want to perform below --


    //Next try to put the result in a variable so as to return value to ajax call as we do for functions with return type. Suppose the variable name is **$alldata**
    echo $alldata;      
?>

您在 phpcodefile.php 文件上打印过的内容将会被返回,您可以在 alert()中看到该文件。这意味着所有数据现在都在&#34; data_val&#34; 这里

success: function(data_val){
    alert(data_val);
}

现在您必须将此 data_val 附加到某个标记

<div id="result"></div>
像这样

$("#result").html(data_val); 

尝试以这种方式执行代码,它将以您想要的方式工作。 如果您发现任何问题,那么我需要查看完整的HTML和PHP代码。