JSON没有使用jQuery loadJSON插件从ajax调用加载到下拉列表中

时间:2013-06-07 02:36:44

标签: jquery ajax json html-select

我是一个使用Ajax的菜鸟,我真的可以使用一些帮助。我一直在阅读loadJSON plugin here的教程。有没有人用过ajax这个插件?

我必须错过关键步骤,因为我无法将'regions.js'文件加载到下拉菜单中。我复制并粘贴了代码,创建了region.js和towns.js文件,还查看了Chrome Dev Tools中的“网络”面板,看看脚本是否正在返回任何内容。脚本正在被调用,{{ 1}},它使用GET方法,我可以看到预览选项卡中加载的Header response is 200。但是,当我在控制台中检查JSON值/ s时,它返回一个空数组。 / p>

有人会告诉我如何让本教程正常工作吗?我想作者认为读者已经理解了如何做到这一点,因为他没有包含ajax代码。感谢。

HTML:

$('.region');

regions.js(JSON)

<label for="Region">Region</label>
<select name="Region" >
    <option value="" class="regions"></option>
</select>

<label for="Town">Town</label>
<select name="Town" id="Town" multiple="multiple" >
    <option class="towns" >-</option>
</select>

towns.js(JSON)

{
    "regions":[
        {
            "value": 1,
            "text": "East Europe"
        },
        {
            "value": 2,
            "text": "West Europe"
        },
        {
            "value": 3,
            "text": "Middle Europe"
        }
    ]
}   

的jQuery

{
    "towns":[
        {
            "value": 17,
            "text": "Belgrade"
        },
        {
            "value": 18,
            "text": "Buchurest"
        },
        {
            "value": 19,
            "text": "Moscov"
        },
        {
            "value": 20,
            "text": "Kiev"
        }
    ]
}    

的jQuery

$('#Region').loadJSON('regions.js');

2 个答案:

答案 0 :(得分:1)

根据文件:

  

如果城镇阵列位于towns1.js,towns2.js,towns3.js文件中,则以下代码将加载城镇下拉列表:

您的城镇数据文件未正确命名。

该网页有一个错误,

<select name="Region" >

应该是:

<select name="Region" id="Region" >

$("#Region")必须使用该ID。

答案 1 :(得分:0)

编译器无法找到您尝试加载的js文件 你应该给出获得该文件的正确途径 可能是

$( '#地区')loadJSON(” ./ regions.js');

如果文件位于单独的文件夹中,则指定文件夹名称

$( '#地区')loadJSON(” ./ JS / regions.js');

其中js是文件夹的名称..