php - $.getJSON 返回 null

标签 php jquery ajax getjson

我正在使用这个非常常见的脚本来填充一个国家/地区的州名称。

<script>
    $(function(){
        $('#country_id').change(function(){
            if( $(this).val() ) {
                $('.receiving').show();
                $.getJSON('server_site_state.php',{term: $(this).val(), ajax: 'true'}, function(j) {
                    var options = '<option value="">Inicio</option>';
                    for (var i = 0; i < j.length; i++) {
                        options += '<option value="' + j[i].id + '">' + j[i].value + '</option>';
                    }
                    $('#state_id').html(options).show();
                    $('.receiving').hide();
                });
            } 
            else {
                $('#state_id').html('<option value="">Select...</option>');
            }
        });
    });
</script>

问题是j总是null通话后,因此 <option>字段未填充

我知道这个电话'server_site_state.php',{ term: $(this).val(), ajax: 'true' }没问题,因为我在 http 日志中看到了正确形成的 URL

另外,如果我在浏览器中调用它:

http://server_side_state.php?term=18&ajax=1

我得到的,我相信的,是正确的返回:

[
    {
        "id": "Atlantico Sur",
        "value": "5604"
    },
    {
        "id": "Buenos Aires",
        "value": "5605"
    },
    {
        "id": "Capital Federal",
        "value": "5606"
    },
    {
        "id": "Catamarca",
        "value": "5607"
    },
    {
        "id": "Chaco",
        "value": "5608"
    },
    {
        "id": "Chubut",
        "value": "5609"
    },
    {
        "id": "Cordoba",
        "value": "5610"
    },
    {
        "id": "Corrientes",
        "value": "5611"
    },
    {
        "id": "Entre Rios",
        "value": "5612"
    },
    {
        "id": "Formosa",
        "value": "5613"
    },
    {
        "id": "Jujuy",
        "value": "5614"
    },
    {
        "id": "La Pampa",
        "value": "5615"
    },
    {
        "id": "La Rioja",
        "value": "5616"
    },
    {
        "id": "Mendoza",
        "value": "5617"
    },
    {
        "id": "Misiones",
        "value": "5618"
    },
    {
        "id": "Neuquen",
        "value": "5619"
    },
    {
        "id": "Rio Negro",
        "value": "5620"
    },
    {
        "id": "Salta",
        "value": "5621"
    },
    {
        "id": "San Juan",
        "value": "5622"
    },
    {
        "id": "San Luis",
        "value": "5623"
    },
    {
        "id": "Santa Cruz",
        "value": "5624"
    },
    {
        "id": "Santa Fe",
        "value": "5625"
    },
    {
        "id": "Santiago del Estero",
        "value": "5626"
    },
    {
        "id": "Tierra del Fuego",
        "value": "5627"
    },
    {
        "id": "Tucuman",
        "value": "5628"
    }
]

这些是阿根廷各州仅供引用

任何帮助将不胜感激。

最佳答案

您可以添加方法来处理成功和错误情况,以获取更多信息,例如:

$.getJSON( ... ).done( ... ).fail( function(xhr, ajaxOptions, thrownError) { ... } ).always(...);

如果失败,您可以使用处理程序中的参数获取更多信息,例如

function(xhr, ajaxOptions, thrownError) 

关于php - $.getJSON 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19862144/

相关文章:

php - 字符串保存到数据库(mysql)时会被转义

javascript - 参数化 jQuery ui slider 的最大值

jquery - 显示弹出窗口后处于相同的滚动位置

javascript - `propertychange` - 不与事件绑定(bind) - 如何克服这个问题?

java - 使用 Jackson 通过 AJAX 从 Spring MVC Controller 返回 java.util.List

php - div的不透明度过渡

php - 明显的PHP语法错误

php - 使用 FPDF 在单元格中自动换行?

java - 使用 AJAX 和 Spring Boot 下载文件

javascript - 在 ajax 响应元素上触发 JQuery 事件