Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AJAX-用PHP脚本的结果替换HTML选择菜单_Php_Jquery_Html_Ajax - Fatal编程技术网

AJAX-用PHP脚本的结果替换HTML选择菜单

AJAX-用PHP脚本的结果替换HTML选择菜单,php,jquery,html,ajax,Php,Jquery,Html,Ajax,我的表格上有两个选择菜单:类型和类别。当用户从“类型”菜单中选择某个内容时,我希望它执行一个PHP脚本,该脚本查询数据库并返回所选类型的匹配类别列表,供用户在“类别”菜单中选择 以下是我的两个选择菜单的HTML: <div class="form-group"> <label for="title" class="control-label col-sm-3" >Type</label> <div class="i

我的表格上有两个选择菜单:类型和类别。当用户从“类型”菜单中选择某个内容时,我希望它执行一个PHP脚本,该脚本查询数据库并返回所选类型的匹配类别列表,供用户在“类别”菜单中选择

以下是我的两个选择菜单的HTML:

<div class="form-group">
        <label for="title" class="control-label col-sm-3" >Type</label>
            <div class="input-group col-xs-8">
                <select class="form-control" name="type" id="type">
                <option value="" selected></option><option value="Business">Business</option><option value="Commercial">Commercial</option><option value="Commercial Land">Commercial Land</option><option value="Land">Land</option><option value="Rental">Rental</option><option value="Residential">Residential</option><option value="Rural">Rural</option>                 </select>
            </div>
    </div>
        <div class="form-group">
        <label for="title" class="control-label col-sm-3" >Category</label>
            <div class="input-group col-xs-8" class=""id="categoryList">
                <select class="form-control" name="category" id="category">
                <option value="" selected></option>                 </select>
            </div>
    </div>
它确实调用了PHP脚本,但是类别选择菜单没有得到更新。查看控制台,我发现以下错误:

SyntaxError: JSON Parse error: Unrecognized token '<'

我觉得我已经很接近了,但无法找出问题所在。

调用json.parse()时,您的数据需要进行json编码

在getPropertyCategories.php中,去掉以html打印类别的代码,并将查询结果编码为json:

$categories = json_encode($queryForTypeResult);
设置标题和返回数据:

header('Content-Type: application/json');
return $categories;

调用json.parse()时,需要对数据进行json编码

在getPropertyCategories.php中,去掉以html打印类别的代码,并将查询结果编码为json:

$categories = json_encode($queryForTypeResult);
设置标题和返回数据:

header('Content-Type: application/json');
return $categories;

您的PHP脚本是否返回原始HTML?正是我要问的,通常会抛出此错误,因为您试图解析HTML。是的,您是对的-如果成功,它将返回HTML以显示选择菜单。对此有什么建议吗?您的PHP脚本是否返回原始HTML?这正是我要问的,通常会抛出此错误,因为您试图解析HTML。是的,您是对的-如果成功,它将返回HTML以显示选择菜单。有什么建议吗?