无效的“in”操作数 obj JQUERY - 尝试从 JSON 获取数据时出现类型错误
invalid 'in' operand obj JQUERY - Type Error while trying to fetch data from JSON
我有一个jsp页面,它试图从后端提取数据并将其填充在下拉框中,但是我不断收到这个"无效的'in'操作数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":"商标2","6":"商标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);
});
如果要进行 ajax 调用以获取json
响应,请确保显式指定dataType
。
dataType: 'json'
我猜您正在解析String
而不是Object
.因为默认情况下数据类型是text
相关文章:
- 使用jquery将mysql数据获取到新的表行中
- 使用createContainer将Meteor数据获取到React Native中时出现问题
- 创建按钮,根据表单字段中的数据获取特定的URL
- 将JSON API数据获取到html
- 将json数据获取到数组中
- 如何将具有多个标签的多个的所有数据获取到一个数组中
- 将状态的 URL 数据获取到模板中
- 如何在jquery中将xml解析数据获取为全局变量
- 在没有JQuery的情况下将JSON数据获取到TVML项目中
- Angular js如何将索引数据获取到另一个模板中
- 如何将PHP Post数据获取到jquery ajax请求中
- 使用javascript中.data()中存储的数据获取变量
- 无法将动态数据获取到 Jquery 饼图中
- 将节点.js neDB 数据获取到变量中
- 更新页面 JSON 数据获取下拉更改
- 将数据绑定到 kendo 下拉列表时,如何将 ajax 响应数据获取到变量
- 画布图像数据获取的值不超过 102,000 个
- 如何通过 JQuery JSON 数据获取 CheckBox(@Html.CheckBox) 的值
- 从html到jquery再到php,再从php到jquery到html,将数据传递到php文件并将数据获取到php文件中
- 如何将Jquery.get中的数据获取到Javascript中的一个变量中