[英]How to pass a value from PHP to Javascript without using Ajax?
[英]How to Parse Select Value from Javascript / Ajax to PHP without Refreshing
我正在尝试从MYSQL数据库检索数据。
我想使Select
值通过JavaScript / Ajax
进入PHP
,但是我不知道如何用POST
方法解析该值。
我的代码:HTML选择:
<select id="valueSelectBox" name="valueSelect">
<option value="defaultPlaceholder">Select Value</option>
<option class="value1">Value 1</option>
<option value="value2">Value 2</option>
<option value="value3">Value 3</option>
<option value="value4">Value 4</option>
</select>
JavaScript:
<script>
$(document).ready(function() {
$('#valueSelectBox').change(function() {
var valueNum=$(this).val();
$.get("php/getValue.php?valueNum="+valueNum, function(data){
$('#show').html(data);
});
});
});
</script>
PHP:
<?php
include_once('mysql_conn.php');
$valueNum = $_POST["valueNum"];
$sql = "SELECT * FROM `values` WHERE `valueNo` = '"$valueNum"'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<b>Value:</b> " . $row["valueNo"];
}
} else {
echo "Value Not Found.";
}
?>
但是PHP代码$_POST
最终为null
。
另外,当我尝试对其进行测试时,也会发生以下错误:
Parse error: syntax error, unexpected '$valueNum' (T_VARIABLE) in /Applications/XAMPP/xamppfiles/htdocs/html/php/getValue.php on line 13
提前致谢。
您正在发送GET
请求而不是POST
。
使用JQuery ajax()
函数并将其method
参数设置为POST
:
$.ajax({
method: "POST",
url: "php/getValue.php",
data: { values: valueNum }
})
.done(function(data) {
$('#show').html(data);
});
您也可以使用get方法获取该数据。 问题出在您的JavaScript中,您正在传递变量名“ valueNum”。
这是这一行-> $ .get(“ php / getValue.php?valueNum =” + valueNum
但是在您的php脚本中,您正在使用$ _POST [“ values”]。
这行是-> $ valueNum = $ _POST [“ values”];
因此,只需将$ _POST [“ values”]更改为$ _GET [“ valueNum”],它也将起作用。
可以,我找到了解决方案,原来是我的SQLQuery抛出错误,原因是两个引号(“”)以及(''),而不是实际的GET方法。
我变了:
$sql = "SELECT * FROM `values` WHERE `valueNo` = '"$valueNum"'";
至:
$sql = "SELECT * FROM `courses` WHERE `courseNo` = '$valueNum'";
无论如何,谢谢你们!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.