Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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 Json字符串是';我的jsp页面上没有显示_Javascript_Jquery_Json - Fatal编程技术网

Javascript Json字符串是';我的jsp页面上没有显示

Javascript Json字符串是';我的jsp页面上没有显示,javascript,jquery,json,Javascript,Jquery,Json,在我的项目中的一个页面中,我有一个jquery代码,它接收两个json字符串,应该在我的表单中添加一些字段: <script> $("document").ready(function(){ var obj_tipo = jQuery.parseJSON( "${lista_tipos}" ); var obj_campo = jQuery.parseJSON( "${lista_campos}" ); var newRow = $('<tr>'

在我的项目中的一个页面中,我有一个jquery代码,它接收两个json字符串,应该在我的表单中添加一些字段:

<script>
$("document").ready(function(){
    var obj_tipo = jQuery.parseJSON( "${lista_tipos}" );
    var obj_campo = jQuery.parseJSON( "${lista_campos}" );

    var newRow = $('<tr>');
    col_1 = '<td> Tipo: </td>';
    col_2 = '<td> <select name="tipo"> </select> </td> </tr>';
    for(var nome in obj_tipo)
        col_2.append('<option value="'+nome+'">'+nome+'</option>');

    newRow.append(col_1);
    newRow.append(col_2);

    $("table.cadastro").append(newRow);

    col_3 = '';
    for(var nome in obj_campo)
        col_3 += '<tr> <td> '+nome+' : </td> <td> <input type="text" name="'+nome+'" value="'+nome+'" size=20 maxlenght=40> </td> <tr>';

    $("table.cadastro").append(col_3);
});
</script>

$(“文档”).ready(函数(){
var obj_tipo=jQuery.parseJSON(${lista_tipos});
var obj_campo=jQuery.parseJSON(${lista_campos});
var newRow=$('');
col_1='Tipo:';
col_2='';
用于(obj_tipo中的变量名称)
列2.附加(“”+nome+“”);
newRow.append(col_1);
newRow.append(col_2);
$(“table.cadastro”).append(newRow);
col_3='';
用于(obj_campo中的变量nome)
col_3+=''+nome+':';
$(“table.cadastro”)。追加(第3栏);
});
但我的页面中没有显示任何内容。我从Chrome中查看开发者工具,浏览器正在读取:

<script>
$("document").ready(function(){
    var obj_tipo = jQuery.parseJSON( "{"Tipo":[{"id":3,"nome":"gerente"},{"id":4,"nome":"supervisor"},{"id":5,"nome":"analista"},{"id":6,"nome":"tecnico"},{"id":7,"nome":"secretaria"},{"id":8,"nome":"seguranca"}]}" );
    var obj_campo = jQuery.parseJSON( "{"Key":[{"id":1,"nome":"e-mail"},{"id":2,"nome":"cidade"}]}" );

    var newRow = $('<tr>');
    col_1 = '<td> Tipo: </td>';
    col_2 = '<td> <select name="tipo"> </select> </td> </tr>';
    for(var nome in obj_tipo)
        col_2.append('<option value="'+nome+'">'+nome+'</option>');

    newRow.append(col_1);
    newRow.append(col_2);

    $("table.cadastro").append(newRow);

    col_3 = '';
    for(var nome in obj_campo)
        col_3 += '<tr> <td> '+nome+' : </td> <td> <input type="text" name="'+nome+'" value="'+nome+'" size=20 maxlenght=40> </td> <tr>';

    $("table.cadastro").append(col_3);
});
</script>

$(“文档”).ready(函数(){
var obj_tipo=jQuery.parseJSON(“{”tipo:“{”id:3,“nome:“gerente”},{”id:4,“nome:“supervisor”},{”id:5,“nome:“analista”},{”id:6,“nome:“tecnico”},{”id:7,“nome:“secreta”},{”id:8,“nome:“seguranca”});
var obj_campo=jQuery.parseJSON(“{”Key:[{”id:1,“nome:“e-mail”},{”id:2,“nome:“cidade”}]}”);
var newRow=$('');
col_1='Tipo:';
col_2='';
用于(obj_tipo中的变量名称)
列2.附加(“”+nome+“”);
newRow.append(col_1);
newRow.append(col_2);
$(“table.cadastro”).append(newRow);
col_3='';
用于(obj_campo中的变量nome)
col_3+=''+nome+':';
$(“table.cadastro”)。追加(第3栏);
});
有人能告诉我这个代码有什么问题吗

注:本页的完整代码如下:

json字符串从此类的方法“cadastra”发送到页面:

  • 您需要使用
    文档
    而不是
    文档
    。阅读 .
  • 同时将json字符串包装在
    ''
  • 使用

  • 您需要使用
    文档
    而不是
    文档
    。阅读 .
  • 同时将json字符串包装在
    ''
  • 使用


    这部分代码存在一些主要问题(除了Satpal回答中的问题外):


    这部分代码存在一些主要问题(除了Satpal回答中的问题外):


    解释一下为什么他们需要使用单引号而不是双引号来包装JSON字符串可能会很有用,以防这一点不是很明显。谢谢你的回答。我做了您建议的修复,但字段仍然不会显示在我的页面上。也许在我附加html标记的代码部分有一些错误?@KleberMota,请参见Anthony Grist的回答他已经很好地指出了错误,我忽略了这些错误,这可能有助于解释为什么需要使用单引号而不是双引号来包装JSON字符串,以防万一,这不是很明显。谢谢你的回答。我做了您建议的修复,但字段仍然不会显示在我的页面上。也许在我附加html标签的代码部分有一些错误?@KleberMota,参见Anthony Grist的回答,他很好地指出了我遗漏的错误
    $(document).ready(function(){
       var obj_tipo = jQuery.parseJSON('${lista_tipos}' );
       var obj_campo = jQuery.parseJSON( '${lista_campos}' );
     ......
    
    var newRow = $('<tr>');
    col_1 = '<td> Tipo: </td>';
    col_2 = '<td> <select name="tipo"> </select> </td> </tr>';
    for(var nome in obj_tipo)
        col_2.append('<option value="'+nome+'">'+nome+'</option>');
    
    newRow.append(col_1);
    newRow.append(col_2);
    
    $("table.cadastro").append(newRow);
    
    var newRow = $('<tr>');
    col_1 = '<td> Tipo: </td>';
    col_2 = $('<td></td>');
    var select = $('<select name="tipo">');
    for(var nome in obj_tipo)
        select.append('<option value="'+nome+'">'+nome+'</option>');
    
    select.appendTo(col_2);
    newRow.append(col_1);
    newRow.append(col_2);
    
    $("table.cadastro").append(newRow);