大家好
我正在使用 jQuery 的 .getJSON() 方法从数据库中提取一些数据(通过 PHP 脚本)。这一切都很好,数据返回正常且符合预期。当我尝试将数据传递给辅助函数时会出现问题,无论我如何尝试访问该数据的值,它们返回时都是未定义的。我有一种感觉,我忽略了一些非常简单的事情,但经过大量的试验和错误,我来到 SO 要求额外的眼睛。
这是一个简单的 JavaScript 代码示例。
function fnCheck_Vis(Row, sField, sMode)
{
sField = sField+"_vis";
sTest = Row.sField.val();
alert(sTest); // Comes back as undefined.
}
$(document).ready(function()
{
$("#btnSearch").click(function()
{
$("#divResults").empty();
var ssearch = $("#ssearch").val();
var i = 0;
$.getJSON("get_results.php?keywords=" + ssearch,
function(Data)
{
var iRec = 0;
$.each(Data, function(i, Row)
{
fnCheck_Vis(Row, "slinkpic1", "Int");
var content = Row.slast;
$("#divResults").append(content);
iRec++;
});
alert(iRec + " records retrieved using AJAX.");
});
});
});
fnCheck_Vis() 函数的第一部分工作正常,“_vis”附加到字段名称,这是正确的行为。无论我如何尝试访问数据集(行)中的该成员,我都无法取回值。
我非常感谢可以就此问题提供的任何见解。
谢谢,
尼古拉斯
最佳答案
您似乎想要访问 Row
的属性,其名称存储在 sField
中,而不是其实际的 sField
属性。尝试:
function fnCheck_Vis(Row, sField, sMode)
{
sField = sField + "_vis";
var sTest = Row[sField];
alert(sTest);
}
关于javascript - 将结果从 .getJSON() 传递到另一个函数导致未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4855587/