Php 依赖下拉Jquery选项列表JSON错误
伙计们,我对Jquery和Json非常陌生,我正在尝试用Jquery创建一个依赖选项列表,但它不起作用。我期待你的帮助。 这是我的HTML代码Php 依赖下拉Jquery选项列表JSON错误,php,jquery,json,ajax,mysqli,Php,Jquery,Json,Ajax,Mysqli,伙计们,我对Jquery和Json非常陌生,我正在尝试用Jquery创建一个依赖选项列表,但它不起作用。我期待你的帮助。 这是我的HTML代码 <div class="form-group"> <label for="categoriesId"> Categories</label> <select class="form-control" id="categoriesId" name="categoriesId">
<div class="form-group">
<label for="categoriesId">
Categories</label>
<select class="form-control" id="categoriesId" name="categoriesId">
<option selcted="">Select
Categories</option>
<?php
getCat();
?>
</select>
</div>
我的Jquery代码在这里
<?php
require_once 'db_connect.php';
if(isset($_POST['cid'])){
$sql = "SELECT product_id, product_name
FROM product WHERE categories_id = '". $cid
."'";
$result = $connect->query($sql);
while($product = $productData->fetch_array()) {
echo "<option value='".$product['product_id']."'>
".$product['product_name']."</option>";
}
}
?>
$(document).ready(function () {
$("#categoriesId").change(function () {
var cid = $("#categoriesId").val();
$.ajax({
url: 'fetchProductData.php',
method: 'POST',
data: 'cid' + cid
.done(function (product) {
console.log(product);
product = json.parse(product);
product.forEach(function (products) {
$('#product').appned();
});
});
});
在您的jquery中,您有错误,首先,正如Nigel Ren所说,您从服务器获得html响应。因此,为了得到响应,您不需要使用json.parse。此外,我在您的html代码中没有找到任何带有名称product的id。而且jquery中没有appned函数。因此,在您的代码中进行以下更改以使其正常工作
$(document).ready(function () {
$("#categoriesId").change(function () {
var cid = $("#categoriesId").val();
$.ajax({
url: 'fetchProductData.php',
method: 'POST',
data: {cid : cid },
success:function(data){
$("#product").html(data);//here response from server will be display in #product
}
});
});
当我使用JSON_encode时,fetchProductDta.php返回的是HTML而不是JSON;它给我带来了一个错误,比如这个意外的json解析错误@奈杰伦,你能帮我解决吗?谢谢你的回复。我试过你的代码,但坏消息是它不起作用。当我选择类别字段,但在下一个字段中没有数据提取时。这是我的产品id html product Select product在您的php代码中此->$product=$productData->fetch_数组它应该是$product=$result->fetch_数组,因为您正在获取$result中的所有行。另外,您没有获取$cid,而是直接在查询中传递它。您的查询应该是这样的->Select product_id,类别为“”的产品的产品名称$_POST['cid']。'非常感谢,但我已经更改了我的php代码,并尝试使用此代码,但输出仍然是相同的'db_connect.php';ifisset$\u POST['cid']{$sql=从类别为'id'.$\u POST['cid'.;$result=$connect->查询$sql;而$product=$result->获取数组{echo.$product['product\U name'.}我已检查网页,它有这个错误->张贴http://chatworld.xyz/drop.php 500内部服务器错误意味着服务器端php文件出现问题我不明白发生了什么,甚至我更改了我的所有php脚本。这个下拉列表让我非常恼火!!需要一次'db_connect.php';如果空的$_POST[cid]{$query=$db->querySELECT*来自产品,其中类别$_id=.$_POST['cid']和活动=1;$rowCount=$query->num_rows;如果$rowCount>0{echo'产品不可用';而$row=$query->fetch_assoc{echo.$row['product_name'.}}否则{echo'产品不可用';echo}