javascript - 类型错误 : invalid 'in' operand a from ajax

标签 javascript jquery ajax symfony

我尝试在 symfony 中使用 jquery 为每个国家/地区选择获取一个新列表。 为此,我使用 ajax,但出现此错误:

TypeError: invalid 'in' operand a

我的jquery:

$('.country').change(function(){
    var val = $(this).val();
        $.ajax({
            type: "POST",
            url: "{{ path('ajax') }}?country_id=" + val,
            success: function(data) {
                $('.extension').html('');
                $.each(data, function(k, v) {
                    $('.extension').append('<option value="' + v + '">' + k + '</option>');
                });
            }
        });
    return false;
});

我的路径 ajax 在 Controller 中调用我的函数 ajax :

public function ajaxAction(Request $request) {
    if (!$request->isXmlHttpRequest()) {
        throw new NotFoundHttpException();
    }

    // Get extension ID
    $numCountry = $request->query->get('country_id');

    $result = array();

    $extensions  = $this->get('extension')->getExtensionByCountry($numCountry, array('name' => 'asc'));
    foreach ($extensions as $extension) {
        //$result[$extension->getName()] = $extension->getId();
        $result['test'] = 1;
    }

    return new JsonResponse($result);
}

最佳答案

您正在尝试遍历导致此错误的字符串。请尝试使用 $.parseJSON(data)

success: function(data) {
       $('.extension').html('');
       data = $.parseJSON(data);
       $.each(data, function(k, v) {
             $('.extension').append('<option value="' + v + '">' + k + '</option>');
        });
}

阅读更多 $.parseJson

关于javascript - 类型错误 : invalid 'in' operand a from ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41486279/

相关文章:

javascript - Bootstrap 4/jQuery - 清除输入字段中的文件名 &lt;input type ='file'/> bs-custom-file-input

jquery - HTML 输入不更新值

php - 有没有办法在 jQuery 中永久定义一个函数?

java - 如何使用 primefaces 的 ajax 刷新 jSTL 测试?

javascript - 是什么让 Bootstrap 模态变高或变宽?

jquery - jQuery .ajax() 是否需要 CSRF token ?

javascript - 推特 Bootstrap 模型

javascript - 使用 Bootstrap 的 DataTables - 样式分页按钮

javascript - 在 Javascript 中对数组中递增的数字进行排序

jquery 获取数据集的值不起作用