Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript getjson()jquery下拉列表不工作_Javascript_Jquery_Json_Getjson - Fatal编程技术网

Javascript getjson()jquery下拉列表不工作

Javascript getjson()jquery下拉列表不工作,javascript,jquery,json,getjson,Javascript,Jquery,Json,Getjson,我有以下json文件: { "viewport_size": {"display_name":"VIEWPORT SIZE:", "name":"viewport_size", "format":"number", "type":"dropdown", "dflt":"640 * 480", "values

我有以下json文件:

{
"viewport_size":
              {"display_name":"VIEWPORT SIZE:",
               "name":"viewport_size",
                "format":"number",
                 "type":"dropdown",
                 "dflt":"640 * 480",
                 "values":["800*600","1280*720","1920*1080"],
                 "isMandatory":"true"},
 "framerate":
                {"display_name":"FRAMERATE:",
                 "name":"fps",
                 "format":"number",
                 "type":"dropdown",
                 "dflt":"30",
                 "values":["45","60","90"],
                "isMandatory":"true"},
"pattern_resolution":
               { "display_name":"PATTERN RESOLUTION:",
                 "name":"resoln",
                 "format":"number",
                 "type":"dropdown",
                 "dflt":"8",
                 "values":["16","32","64"],
                 "isMandatory":"true"}
 }
我正在尝试使用getJSON填充js文件中的下拉列表

  var INPUT_TEXT='<input type="text"/>';
    var INPUT_RADIO='<input type="radio"/>';
    var INPUT_CHECKBOX='<input type="checkbox"/>';
    var INPUT_DROPDOWN='<select id="items"></select>';
    var SUBMIT_BUTTON='<input type="button" value="SUBMIT"/>';
    var NEWLINE='<br></br>';

$.getJSON('json_input/client_settings_input.json',function(clientData)
{   
$.each(clientData,function(i,feild)
{
    if(this.type=="dropdown")
    { 
        var html = '';    
        var len = feild.values.length;    
        //alert('lenght is'+len);
        for (var i = 0; i< len; i++){        
            //alert('inside for');
            html += '<option>'+ feild.values[i]+'</option>';   
        }
            $('body #tabs #tabs-2 client').append  (this.display_name).append(INPUT_DROPDOWN).append(html).append(NEWLINE);         
    }
         });    

$('body #tabs #tabs-2 #client').append(SUBMIT_BUTTON);
});
但我无法查看下拉列表和值…请指出我的错误

我希望像这样填充视口:dropdownlist值 帧率:下拉列表值 模式分辨率:下拉列表值

.append($(INPUT_DROPDOWN).html(html))
.appendINPUT_DROPDOWN.appendhtml的istead

选项必须在“选择”中,但插入的级别与“选择”的级别相同。
请参见尝试添加参数jsoncallback=?到您的URL

$.getJSON('json_input/client_settings_input.json?jsoncallback=?',function(clientData)
jQuery将用ID替换jsoncallback参数之后的最后一个问号

然后,服务器端将使用该ID创建一个响应,该响应将以ID值命名的函数开始

这将导致一个类似以下内容的响应:

jQuery16205149872086476535_1314088378455({
  "viewport_size":
          {"display_name":"VIEWPORT SIZE:",
           "name":"viewport_size",
            "format":"number",
             "type":"dropdown",
             "dflt":"640 * 480",
             "values":["800*600","1280*720","1920*1080"],
             "isMandatory":"true"},
 "framerate":
            {"display_name":"FRAMERATE:",
             "name":"fps",
             "format":"number",
             "type":"dropdown",
             "dflt":"30",
             "values":["45","60","90"],
            "isMandatory":"true"},
 "pattern_resolution":
           { "display_name":"PATTERN RESOLUTION:",
             "name":"resoln",
             "format":"number",
             "type":"dropdown",
             "dflt":"8",
             "values":["16","32","64"],
             "isMandatory":"true"}
});
因此,在一个简短的回答中,如果您的json响应没有包装在这个函数名中,那么回调函数将不会启动,相反,您将得到一个错误,您可以这样看:

$.getJSON('json_input/client_settings_input.json?jsoncallback=?',function(clientData) {

    //your code

}).error(function(jqXHR, textStatus, errorThrown) {
    alert("Error: " + textStatus + " errorThrown: " + errorThrown);
})
希望这有帮助

帕特里克