gpt4 book ai didi

javascript - 我的 jquery 函数中的 every 出现错误

转载 作者:行者123 更新时间:2023-11-28 19:21:04 25 4
gpt4 key购买 nike

我编写了一个简单的函数来使用我多次使用过的相同代码库构建表单。在这种形式中,我添加了一个选择对象。除了选择对象不工作之外,一切正常。我正在使用 ajax 函数来调用数据库表中的数据。故障排除时,我正在获取数据当在 chrome 上查看网络时返回,但在控制台中我收到错误:未捕获的类型错误:无法读取未定义的属性“长度”。这是 ajax 调用返回的数据。

{"oshadaytype":[
{"oshadaytypeid":3,"oshadaytype":"Job Transfer"},
{"oshadaytypeid":2,"oshadaytype":"Light Days"},
{"oshadaytypeid":1,"oshadaytype":"Lost Days"}
]}

这是 jquery 函数。一切正常,除了我得到空的选择对象。

$(function(){
$("#addoshadaysbutton").click(function(){
$.ajax({type: "GET",url: '../posttimetosession.php'}).done();
$("#addoshadaysdiv").empty();
$.ajax({type: "GET",url: '../json/getoshadayjson.php'}).done(function(data){
$("#addoshadaysdiv").append(
$('<div>').append(
$('<label>').text("OSHA Days").addClass("rmargin3 subtitle")
).addClass("paddingbottom3")
).append(
$('<div>').append(
$('<input>').prop({type:"submit",name:"addoshadayssubmit",value:"Save OSHA Days"}).addClass("button")
).addClass("paddingbottom3")
).append(
$('<div>').append(
$('<label>').prop({for:"oshastartdate"}).text("Start Date:").addClass("rmargin3")
).append(
$('<input>').attr({type: 'text',id: 'oshastartdate',name: 'oshastartdate'}).addClass("datepick eighth rmargin10")
).append(
$('<label>').prop({for:"oshaenddate"}).text("End Date:").addClass("rmargin3")
).append(
$('<input>').attr({type: 'text',id: 'oshaenddate',name: 'oshaenddate'}).addClass("datepick eighth rmargin10")
).append(
$('<label>').prop({for:"oshadaytypeid"}).text("OSHA Days Type:").addClass("rmargin3")
).append(
$('<select>').attr({id: "oshadaytypeid",name: "oshadaytypeid"})
)
)
$.each(data.oshadaytype,function(key,value){
$("#oshadaytypeid").append(
$('<option>').prop({value:value.oshadaytypeid}).text(value.oshadaytype)
)
})
});
})
})

错误指向每个函数的开头。

$.each(data.oshadaytype,function(index,value)

对此有什么想法吗?它必须是简单的事情。这是 php 代码。

unset($_SESSION['oshadays']);
$appquery = "select * from hrs.oshadaytypes order by oshadaytype";
$results=sqlsrv_query($link,$appquery,array(),array( "Scrollable" => 'static' )) or die('Cannot get the nonemployee record');
if(sqlsrv_has_rows($results)){
while($row = sqlsrv_fetch_array($results,SQLSRV_FETCH_ASSOC)){
$_SESSION['oshadays']['oshadaytype'][]=$row;
}
}
echo json_encode($_SESSION['oshadays']);

最佳答案

这里的所有假设。返回的数据看起来像一个 JSON 字符串。因此你有两个选择。

1:

设置 ajax 调用的数据类型:

$.ajax({type: "GET", dataType: 'json', url: '../json/getoshadayjson.php'}).done(function(data){

因为 dataType 是您期望从服务器返回的数据类型。如果未指定,jQuery 将尝试根据响应的 MIME 类型来推断。

2:

Parse the JSON String

var _data = $.parseJSON(data);
$.each(_data.oshadaytype,function(key,value){

关于javascript - 我的 jquery 函数中的 every 出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28903546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com