簡體   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