带有.change()的AJAX不起作用

AJAX with .change() not working?

本文关键字:AJAX 不起作用 change 带有      更新时间:2023-09-26

我有两个下拉菜单。其中一个显示了该国的省份,当其中一个省份被选中时,第二个应该显示所选省份的地区。

下面的代码工作正常,下拉菜单显示省份:

$(document).ready(function () {
        $.ajax({
            url: "http://blabla.com/dev/provinces"
        }).then(function (data) {
            var data = JSON.parse(data)["response"];
            var dropdown = $("#province");
            data.forEach(function (province) {
                dropdown.append("<option value=" + province["p_name"] + ">" + province["p_name"] + "</option>")
            });
        })
    });

然而,其他下拉列表不会使用以下代码显示所选省份的地区:

$("#province").change(function () {
        $.ajax({
            url: "http://blabla.com/districts?province=["+ $(this).val()+"]"
        }).then(function (data) {
            var data = JSON.parse(data)["response"];
            var dropdown = $("#district");
            data.forEach(function (district) {
                dropdown.append("<option value=" + district["d_name"] + ">" + district["d_name"] + "</option>")
            });
        })
    });

第二个代码在控制台上给出以下错误:

"未捕获的SyntaxError:意外的令牌A"

第二个有什么问题?

谢谢。

编辑:下拉菜单的HTML如下所示:

<label class="dropdown-label" for="province">Province</label>
<select id="province"></select>
<label class="dropdown-label" for="district">District</label>
<select id="district"></select>

问题似乎是来自RESTful API调用的响应,该调用不是意外的JSON。当我修复它时,我发布的代码运行良好。无论如何,谢谢。