Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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 为3个输入字段设置JSON格式_Javascript_Json_Jquery - Fatal编程技术网

Javascript 为3个输入字段设置JSON格式

Javascript 为3个输入字段设置JSON格式,javascript,json,jquery,Javascript,Json,Jquery,我需要从服务器端生成json,我知道怎么做。但是,我不知道如何格式化这个json数据,以便在jQuery中轻松使用 这是我目前的剧本。设置json数据格式以便填写3个输入字段的最佳方法是什么 $('input#btnGet').click(function() { $.ajax({ url: 'generate_json.aspx', type: 'POST', data: { intPageID:1 }, success:

我需要从服务器端生成json,我知道怎么做。但是,我不知道如何格式化这个json数据,以便在jQuery中轻松使用

这是我目前的剧本。设置json数据格式以便填写3个输入字段的最佳方法是什么

$('input#btnGet').click(function() {
    $.ajax({
        url: 'generate_json.aspx',
        type: 'POST',
        data: { intPageID:1 },
        success: function(results) { 
            $('input#id').val('id goes here');
            $('input#heading').val('heading goes here');
            $('input#content').val('content goes here');
        }
    });
});

如果将
数据类型:“json”
添加到选项中,那么jQuery会直接将json解码为JavaScript对象:

“json”:将响应计算为json并返回一个JavaScript对象。在jQuery1.4中,JSON数据被严格解析;任何格式错误的JSON都将被拒绝,并引发解析错误。(有关正确json格式的更多信息,请参见json.org。)

假设您接收/生成的JSON是

'{"id": 6, "heading": "heading", "content": "content"}' 
您的代码如下所示:

$.ajax({
    url: 'generate_json.aspx',
    type: 'POST',
    data: { intPageID:1 },
    dataType: 'json',
    success: function(results) { 
        $('#id').val(results.id);
        $('#heading').val(results.heading);
        $('#content').val(results.content);
    }
});
如果您的JSON字符串代表一个数组,那么当然
results
将是一个JavaScript数组,您必须对其进行循环



顺便说一句,由于ID是唯一的,因此不需要在选择器中预先添加标记名。

如果在选项中添加
数据类型:“json”
,则jQuery直接将json解码为JavaScript对象:

“json”:将响应计算为json并返回一个JavaScript对象。在jQuery1.4中,JSON数据被严格解析;任何格式错误的JSON都将被拒绝,并引发解析错误。(有关正确json格式的更多信息,请参见json.org。)

假设您接收/生成的JSON是

'{"id": 6, "heading": "heading", "content": "content"}' 
您的代码如下所示:

$.ajax({
    url: 'generate_json.aspx',
    type: 'POST',
    data: { intPageID:1 },
    dataType: 'json',
    success: function(results) { 
        $('#id').val(results.id);
        $('#heading').val(results.heading);
        $('#content').val(results.content);
    }
});
如果您的JSON字符串代表一个数组,那么当然
results
将是一个JavaScript数组,您必须对其进行循环


顺便说一句,由于ID是唯一的,所以不需要在选择器中预先添加标记名。

只需将数据类型指定为“json”,就可以了

$.ajax({
    url: 'generate_json.aspx',
    type: 'POST',
    data: { intPageID:1 },
    dataType: "json",
    success: function(result){$("#heading").val(result.heading)}
    });
只需将数据类型指定为“json”,就可以了

$.ajax({
    url: 'generate_json.aspx',
    type: 'POST',
    data: { intPageID:1 },
    dataType: "json",
    success: function(result){$("#heading").val(result.heading)}
    });

如果您的服务器返回以下内容:

{
  "id": "1",
  "heading": "yadayada"
  "content": "foobar"
}
您可以像这样使用它:

success: function(results) { 
   $('input#id').val(results.id);
   $('input#heading').val(results.heading);
   $('input#content').val(results.content);
}

如果您的服务器返回以下内容:

{
  "id": "1",
  "heading": "yadayada"
  "content": "foobar"
}
您可以像这样使用它:

success: function(results) { 
   $('input#id').val(results.id);
   $('input#heading').val(results.heading);
   $('input#content').val(results.content);
}

对于ID,添加标记名实际上是不好的,因为DOM中有显式内置函数用于单独按ID获取元素,这是最快的方法,jQuery可以将它们与纯ID选择器一起使用:),而对于ID,添加标记名实际上是不好的,因为DOM中有显式内置函数用于单独按ID获取元素是最快的方法,jQuery可以使用纯ID选择器:)这并没有回答他关于如何从服务器格式化JSON字符串的问题,而只是如何在客户端解析它;)@David Mårtensson:嗯,格式化JSON只有一种方法。。。JSON标准规定的方式!:)(
json\u encode
PHP函数在这个意义上做得很好)。这并没有回答他关于如何首先从服务器格式化json字符串的问题,而只是如何在客户端解析它;)@David Mårtensson:嗯,格式化JSON只有一种方法。。。JSON标准规定的方式!:)(
json_encode
PHP函数在这个意义上做得很好)。