我以为我正朝着正确的方向前进。但在某处,信息过载设置在。
简单任务:我希望用户从下拉列表中选择一些内容,并让jquery填充该选择中的表单单元格。选择是向我的ASP脚本发送ID请求,该脚本以JSON格式返回数据。但Jquery根本没有填写表格。
这是我的Jquery。
<script>
$(document).ready( function() {
$("#list-avail-reps").change( function() {
var rep_id = $(this).val();
var datastring = "ID="+rep_id;
$.ajax({
type: "GET",
data: datastring,
dataType: "json",
url: "sales-reps.asp",
success: function(data) {
var rep_name=json.rep_name
var rep_cell=json.rep_cell
var rep_email=json.rep_email
var rep_branch=json.rep_branch
var branch_id=json.branch_id
$("#rep_name").val(rep_name);
$("#rep_cell").val(rep_cell);
$("#rep_branch").val(rep_name);
$("#rep_email").val(rep_email);
$("#rep_active").val('1');
$("#rep_login_ID").val(rep_id);
$("#branch_ID").val(branch_ID);
}
});//end ajax command
}); //end of listener
});//end document function
</script>
我的JSON输出如下:
[
{
"rep_name":"Name here",
"rep_cell":"Number here",
"rep_branch":"More info",
"rep_email":"email here",
"branch_id":"5"
}
]
对此的任何帮助将不胜感激。
答案 0 :(得分:0)
您将返回一组对象。要访问这些值,您需要先选择数组的第一个索引:
var rep_name=data[0].rep_name
var rep_cell=data[0].rep_cell
var rep_email=data[0].rep_email
var rep_branch=data[0].rep_branch
var branch_id=data[0].branch_id
此外,您将被退回data
而不是json
答案 1 :(得分:0)
您应该使用data
代替json
。
示例强>:
data.rep_email
与json.rep_email
返回的数据似乎是一个数组。因此,您需要迭代数组(或假设索引为0)。
示例强>:
var rep_email = data[0].rep_email
或
for (var i = 0; i < data.length; i++) {
var rep_email = data[i].rep_email;
}
答案 2 :(得分:0)
var obj = JSON.parse(data); var rep_name = obj [0] .rep_name