JSON对象在控制台中显示对象,但也包含来自php脚本返回的字符串的“未定义”
JSON object showing objects in console but also contains 'undefined' from string returned by php script
>我有一个php脚本,可以查询我的数据库中的一些值并将它们放入json字符串中。
<?php
if (isset($_POST['name']) === true && empty($_POST['name']) === false) {
include_once("../php_scripts/connect.php");
$arr = array();
if ($result = $mysqli->query("SELECT due_date FROM payment_due_dates WHERE client_id = '" . $_POST['name']. "'")) {
$rowCount = $result->num_rows;
echo '[';
$i = 0;
while ($row = $result->fetch_assoc()) {
if ($i <= $rowCount - 2){
echo json_encode($row);
echo ',';
}else{
echo json_encode($row);
}
$i++;
}
$result->free();
}
echo ']';
}
?>
然后 jquery 转换为 json 对象并将值添加到选择框中。
$(document).ready(function(){
$('#subName').click(function(){
var name = $('input#txtName').val();
if($.trim(name) != ''){
$.post('ajax/load_patient_episodes.php', {name: name}, function(data){
console.log(data);
var obj = $.parseJSON(data);
console.log(obj);
var output;
$.each(obj, function(key, val){
output += '<option>' + val.due_date + '</option>';
});
$('#selEpisode2').html("<option>" + output + "</option>");
});
}
});
});
它加载值,但也在我的控制台日志中给出此错误:
event.returnValue is deprecated. Please use the standard event.preventDefault()
instead. jquery.js:5
并且,当它将值添加到选择框时,它还会添加文本"未定义"。因此,我的选择框中的选项显示为:
定义
2013年11月13
日2013年11月13
日2013年11月13
日我假设它可能与那里的原型数组有关,但我不确定它是如何到达那里的。在这个东西上仍然有点新手。这是我的控制台日志。任何想法如何丢失"在我的选择选项中未定义"?另外,有没有更好的方法应该从 php 查询中加载选择选项?
event.returnValue is deprecated. Please use the standard event.preventDefault()
instead. jquery.js:5
[Object, Object, Object]
0: Object
1: Object
2: Object
length: 3
__proto__: Array[0]
试试这个
var output = '';
$.each(obj, function(key, val){
if (typeof (val.due_date) != undefined) {
output += '<option>' + val.due_date + '</option>';
}
});
您可能还想选择唯一due_date。
希望,你的jquery
版本是旧的,所以你能下载最新的jquery版本并包含在你的文件中吗?
下载: http://jquery.com/download/
或者,您可以包括以下内容,
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
使用空白值初始化变量输出
var output= "";
相关文章:
- 在setInterval函数之前声明时未定义对象
- 使用+=运算符未定义对象中的第一个元素
- 通过 Requirejs 传递的未定义对象
- JS:防止访问未定义对象的属性时出错
- AngularJs为什么在ng禁用函数上未定义对象
- IE上未定义对象值
- JQuery函数返回一个对象,但它被集成为未定义对象
- AJAX响应带有未定义/对象文档
- 处理未定义对象的内联比三进制更聪明
- JavaScript错误未定义对象,尽管对象存在
- Javascript未定义对象
- 未定义对象子属性的Javascript类型
- Javascript多维数组未定义对象错误
- 在一条语句中获取多个未定义对象中的初始化对象
- Javascript -对象中的未定义对象
- 是否可以像扩展其他对象一样扩展未定义对象
- Java Script Ionic框架中的未定义对象
- if else子句中未定义对象的未定义属性
- 未定义对象方法
- 在JavaScript中使用typeof仍然会导致未定义对象的错误