aka*_*aal 6 javascript php ajax
我试图通过POST方法使用AJAX将多个参数传递给我的PHP文件,以便我可以查询MySQL数据库.
HTML文件:
<div class="dropdown dropdown-dark">
<select class="dropdown-select" id="searchselect11" required>
<option value="faculty">Faculty</option>
<option value="dept">Dept.</option>
<option value="course">Course</option>
<option value="year">Year</option>
<option value="name">Name</option>
</select>
</div>
<td style="padding:5px;"> <input type="text" id="searchtext11" required></td>
<button id="searchgo1" onclick="searchone()"></button>
Run Code Online (Sandbox Code Playgroud)
这是我成功访问下拉值和文本框值的Javascript文件,sv并searchtext11分别存储在变量和变量中.但问题是将两个值传递给PHP文件.问题似乎the_data是传入的变量xmlhttp.send(the_data);
该searchone()功能如下:
function searchone()
{
//alert("hi");
var xmlhttp;
var sel = document.getElementById('searchselect11');
var sv = sel.options[sel.selectedIndex].value;
var searchtext11= document.getElementById("searchtext11").value;
var the_data = 'select='+sv+'text='+searchtext11;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("POST", "searchone.php", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(the_data);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
document.getElementById("searchresults").innerHTML = xmlhttp.responseText;
}
}
}
Run Code Online (Sandbox Code Playgroud)
此PHP代码仅适用于
var the_data='select='+sv;
Run Code Online (Sandbox Code Playgroud)
searchone.php
<?php
if (isset($_POST['select'])) {
$str = $_POST['select']; // get data
echo $str;
}
?>
Run Code Online (Sandbox Code Playgroud)
如何获得我的PHP文件的下拉列表和文本框值,以便我可以使用这些变量形成SQL查询.
你需要使用一个&符号,就像它是一个GET一样.此外,您应该对文本进行编码,以确保它不包含任何可能具有特殊含义的字符
var the_data = ''
+ 'select=' + window.encodeURIComponent(sv)
+ '&text=' + window.encodeURIComponent(searchtext11);
// ^ ^^
Run Code Online (Sandbox Code Playgroud)
您不需要手动解码服务器端,因为您已经知道POST数据是x-www-form-urlencoded.
在此字符串中添加 &:
var the_data = 'select='+sv+'&text='+searchtext11;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30490 次 |
| 最近记录: |