jquery getJSON 调用多次中断

标签 jquery getjson

对 getJSON 的一次调用就可以正常工作......

<div class="col-sm-3 col-xs-12" >
    <label for="pickers" >Picker</label>
    <select name="Picker" id="selectPicker" class="form-control" ></select>
    <label for="grinners" >Grinner</label>
    <select name="Grinner" id="selectGrinner" class="form-control" ></select>
</div>

<script>
$( document ).ready( function() {

    //pickers
    $.getJSON( '/people.php', { get:'pickers' }, function( p ){

        var pOptions = '';
        for ( var pi=0; pi<=k['DATA'].length; pi++ ) {

            pOptions += '<option value="' + p['DATA'][pi][0] + '">' + p['DATA'][pi][1] + ' (' + p['DATA'][pi][2] + ')</option>';

        }

        $( '#selectPicker' ).html( pOptions );
    });



});
</script>

但是 - 当我添加另一个调用时,它破坏了它们,我收到了调用,并且响应很好,返回了 JSON 对象,但 UI 没有填充选择...

上面的方法有效,如果我添加这个(下面),它会破坏两个选择...... 我已经将所有变量命名为不同的,所以我不应该遇到任何冲突......

<script>
$( document ).ready( function() {

    //pickers
    $.getJSON( '/people.php', { get:'pickers' }, function( p ){

        var pOptions = '';
        for ( var pi=0; pi<=k['DATA'].length; pi++ ) {

            pOptions += '<option value="' + p['DATA'][pi][0] + '">' + p['DATA'][pi][1] + ' (' + p['DATA'][pi][2] + ')</option>';

        }

        $( '#selectPicker' ).html( pOptions );
    });

    //grinners
    $.getJSON( '/people.php', { get:'grinners' }, function( g ){

        var gOptions = '';
        for ( var gi=0; gi<=g['DATA'].length; gi++ ) {

            gOptions += '<option value="' + g['DATA'][gi][0] + '">' + g['DATA'][gi][1] + ' (' + g['DATA'][gi][2] + ')</option>';

        }

        $( '#selectGrinner' ).html( gOptions );
    });

});
</script>

JSON 看起来像这样(仅供引用):

选择器;

{

    "COLUMNS":["ID","PERSON","POSITION"],
    "DATA":[[1,"Jo Bob","Banjo"],[2,"Garth Waller","jug"],[3,"Boswell Higgins","washboard"]]

}

咧嘴笑;

{

    "COLUMNS":["ID","PERSON","RELATION"],
    "DATA":[[1,"Jimmy John","Grand-pappy"],[2,"Margie Monroe","Grammy"],[3,"'big' Tom Turney","cousin/brother"]]

}

最佳答案

如果问题出在 URL 捕获上,我的解决方案是向 URL 添加日期请求参数,例如,

 '/people.php?d="+ new Date()

其中 new Date() 是当前的 JavaScript 日期。 您可以选择进行一次调用并管理您的服务器代码以同时返回两个响应。

关于jquery getJSON 调用多次中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30612078/

相关文章:

jquery - 新手 jQuery 祖先导航问题

javascript - 使用 javascript 查找具有选定属性的选择选项

javascript - 随机淡出 <div>

javascript - 搜索 HTML 文本区域中给出的单词,并使用 JavaScript 在字符串中突出显示它们

jquery - getJson 未在外部计算机上的 IE 11 中运行

Javascript getJson 回调不起作用(这有什么问题?)

javascript - 如何在 div 容器中加载 HTML 表格? JQuery/JavaScript

jquery grep json 对象数组

javascript - getJSON 警报不返回任何内容 - 数据问题?

jquery - 如何将 CSS 样式应用于动态生成的列表(在 mCustomScrollbar 容器内)?