我有一个 jsp 页面,它尝试从后端提取数据并将其填充到下拉框中,但是我不断收到“invalid 'in' operand obj”错误。
我的代码是
$.get('../Paid_deep_dive',{type:"bodyload",s_date:$start_date,e_date:$end_date},function(responseTM) {
var $select = $('#tm');
$select.find('option').remove();
$.each(responseTM, function(key, value) {
$('<option>').val(key).text(value).appendTo($select);
});
});
我的servlet代码是这样的
if(type.equals("bodyload"))
{
try
{
prepStmt = con.prepareStatement(dbquery.get_trademark);
rs=prepStmt.executeQuery();
while(rs.next())
{
json.put(rs.getString(1),rs.getString(2));
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
}
String responsetojsp=json.toString();
System.out.println(responsetojsp);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(responsetojsp);
}
catch(Exception e)
{
logger.error("Error : " + e);
}
}
当我输出 JSON 时,输出是这样的
{"11":"Trademark 2","6":"Trademark 1"}
我的jsp代码如下
<div id="filter-panel" class="collapse filter-panel">
<div class="panel panel-default">
<div class="panel-body">
<div class="form-group">
<b><font color="#545454" size="2px">START DATE</font></b>
<b><font color="#545454" size="2px">END DATE</font></b>
<input type="text" id="datepicker1" onchange="loadpage()">-
<input type="text" id="datepicker2" onchange="loadpage()">
<label class="filter-col" style="margin-right:0;" for="pref-orderby">Trademark</label>
<select id="tm">
<option value="trademarks">Trademark 1</option>
</select>
<label class="filter-col" style="margin-right:0;" for="pref-orderby">Brand</label>
<select id="br" class="form-control">
<option value="brands">Brand 1</option>
</select>
<label class="filter-col" style="margin-right:0;" for="pref-orderby">Campaign</label>
<select id="camp" class="form-control">
<option values="camps">Campaign 1</option>
</select>
<button type="submit" class="btn btn-default filter-col">
<span class="glyphicon glyphicon-record"></span> Submit
</button>
</div> <!-- form group [order by] -->
</div>
最佳答案
解析响应文本,然后将其保存到变量中。然后将变量传递给 $.each
。
var jsonObject = JQuery.parseJSON(responseTM);
$.each(jsonObject , function(key, value) {
$('<option>').val(key).text(value).appendTo($select);
});
关于javascript - 无效 'in' 操作数 obj JQUERY - 尝试从 JSON 获取数据时出现类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28293200/