[英]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.