[英]Combine these scripts to work together, Javascript/AJAX and PHP
我正在學習這里涉及的所有語言,目前正努力將兩個腳本結合起來完成一個任務。
我希望能夠從表單選項列表中選擇一個分支,將該值從選項發送到php腳本以查詢數據庫。 然后,將從數據庫返回的信息用於使用第二個腳本加載的頁面上。
jQuery / AJAX腳本一個-當前用於使用從用戶選擇中收集的值將php頁面加載到DIV中。
<script>
$(document).ready(function(){
function loadBranch(branch) {
if (branch) {
$('div#content2').load('../../procedures/'+ branch +'/ClientCalls/' + branch + '-Bookings.php');
}
}
$('select[name=branch]').on('change', function() {
loadBranch($(this).val());
});
loadBranch($('select[name=branch]').val());
});
</script>
我嘗試使用的第二個腳本填充先前腳本已加載的頁面。
<script>
$(document).ready(function(){
$('select[name=branch]').on('change', function() {var branchGet = this.options[this.selectedIndex].value
console.log(branchGet);
$.ajax({
url: '../../procedures/'+ branchGet +'/ClientCalls/' + branchGet + '-Bookings.php',
data: {branchGet: branchGet},
type: 'GET',
dataType: 'json',
success: function(data)
{
if(data == 'success'){
location.reload();
}
}
});
});
});
</script>
第二個腳本也在發送信息的php頁面。
<?php
$user = '';
$pass = '';
try {
$DBH = new PDO('mysql:host=localhost;dbname=nightlineDB;', $user, $pass);
$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$DBH->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$branch = $_GET['branchGet'];
$true = 1;
$contactList = $DBH->prepare('SELECT contactName, contactNumber FROM branchcontact WHERE branch = ? AND inUse = ?');
$contactList->execute(array($branch, $true));
$contactResult = $contactList->fetchAll(PDO::FETCH_ASSOC);
<div><p><h4>First Contact</h4> <?php echo $contactResult['0']['contactName'] ." ".$contactResult['0']['contactNumber'] ?></p></div>
$success = 'success';
echo json_encode($success);
}
catch(Exception $e) {
echo 'Error: '.$e->getMessage();
}
?>
第二個腳本中的console.log顯示已選擇了正確的分支,但是,我收到一條錯誤消息,指出PHP文件中的branchGet是“未定義索引”,並且腳本失敗。 由於變量為空,我無法查詢數據庫。
有人能指出我正確的方向,因為我現在有點困惑了。
提前加油
的Blinky
如果您在此行上遇到錯誤
$ branch = $ _GET ['branchGet'];
這意味着未設置GET變量,因此$ _GET數組中不存在該變量的索引,PHP將其提供為GET變量的資源。
獲取變量始終編碼在URL中。 URL的分支?branchGet = somevalue。 除非有一些代碼尚未發布,否則$ _GET變量包含任何內容。
在瀏覽器中打開開發人員工具,然后查看XHR請求。 驗證發布到php腳本的URL是否以Bookings.php?branchGet = something結尾。如果存在,則錯誤在PHP端。 如果不是,那是在jQuery方面。
我真的看不到PHP上可能出了什么問題,但是該錯誤表明請求URL缺少?branchGet = URL中的某些內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.