Javascript 为3个输入字段设置JSON格式
我需要从服务器端生成json,我知道怎么做。但是,我不知道如何格式化这个json数据,以便在jQuery中轻松使用 这是我目前的剧本。设置json数据格式以便填写3个输入字段的最佳方法是什么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:
$('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函数在这个意义上做得很好)。