繁体   English   中英

GET ajax请求发送到相同的php文件

[英]GET ajax request sent to the same php file

目前,我有一个php文件createNewForm.php。 在其中,我有一个复选框列表,当我选中每个复选框时,我希望我的php文件(createNewForm.php)中的sql查询重新填充一个列表。

因此,假设我有“动物”,“植物”,“食物”复选框,然后选中“动物”,则列表中将填充鸡,牛,狗。 如果我选中“食物”,则其中包括“鸡”,“牛”,“狗”,“比萨”,其中动物和食物中都包含“鸡”(对不起,如果您是素食主义者哈哈)。

我不太担心SQL方面的问题,因为该部分正在工作。

以下是我的JavaScript,用于将检查值(动物,植物,食物)发送给自己:

createNewForm.php(JavaScript部分)

var $checkedSites = [];
var $checkedSitesString = '';

$(document).ready(function() {

    $('.checkedSites').change(function() {

        if($(this).is(':checked')) {

            $checkedSites.push($(this).val());
        }
        else
        {
            $checkedSites.splice($.inArray($(this).val(),$checkedSites),1);
        }

        $checkedSitesString = "'" + $checkedSites.join("','") +"'";


        var sitesChosen = 'sitesChosen='+$checkedSitesString;
        $.ajax({
                type: "GET",
                url: "createNewForm.php",
                data: sitesChosen,
                cache: false,
                success: function(result){
                alert(result);
                }
                });

    });
});

createNewForm.php(php部分)

<?php
    if (isset($_GET["sitesChosen"]) && !empty($_GET["sitesChosen"]) && $_GET["sitesChosen"] != '') { //Checks if action value exists
                $sitesChosen = $_GET["sitesChosen"];

                $productTypePopulationSQL = "SELECT distinct productname 
                                            FROM productType 
                                            WHERE active = 1
                                            and sitetypeid in (".$sitesChosen.");";
              }
            else
            {

                $productTypePopulationSQL = "SELECT distinct productname 
                                            FROM productType 
                                            WHERE active = 1;
                                            ";

            }
?>

目前,随着代码的编写,输出将为我提供完整的设置,而与出于理智目的而检查哪一个无关。 当通过Javascript设置php的结果并将SQL语句修改为我想要的值时,我也从php中回显了结果,但是它也连接了从php生成的整个HTML,而没有更改实际页面上的内容。 另外,由于某种原因,此回声将作为警报生成,而不是被写入页面。

谢谢!

诺曼

你真的没有问一个问题。 那样就好了。

就您的代码所说的警告而言。

alert(result);

相反,如果您需要将其“写入页面”,则创建一个div来放置消息。

的HTML

<div id="msg"></div>

JS

var msg= document.getElementById('msg);

msg.innerHTML = result;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM