我有一个函数可以从数据库中的某些东西创建一个对象。 Ajax处理数据请求,然后将其解析为JSON格式并提供给该函数。我做了一些检查(如果语句和什么不),然后将其返回到代码的另一个区域。使用值返回对象,但值未定义
然而在返回时,我可以console.log()
它,看看它是一个Object { }
我点击该对象并获取在对话框中显示的变量(它显示他们连接到每个属性值),但是当试图做一个
result = alertFilled(type,mon,year,data.tableField);
console.log(result.table);
我得到了一个未定义
我的函数来处理和创建对象是
function alertFilled (type,mon,year,tableField){
var alertObj = {};
$.ajax({
method: 'POST',
url: 'ajaxScripts/checkAlertFilled.php',
data: {
'type': type,
'mon': mon,
'year': year,
'id': tableField,
'ajax': true
},
// return appropriate message
success: function (data)
{
var parsed = JSON.parse(data);
alertObj.table = type;
alertObj.tableField = tableField;
alertObj.monthYear = parsed.mthYr;
alertObj.month = "";
alertObj.year = "";
alertObj.echoFilled = false;
alertObj.bravoFilled = false;
var index = [];
for (var x in parsed) {
index.push(x);
}
alertObj.month = parsed[index[2]];
alertObj.year = parsed[index[3]];
var mthYrLower = parsed[index[0]].toString();
if (mthYrLower.toLowerCase().indexOf("echo") >= 0){
if ($.trim(parsed[index[1]]) !== "")
{
alertObj.echoFilled = true;
}
else {
alertObj.echoFilled = false;
}
}
if (mthYrLower.toLowerCase().indexOf("bravo") >= 0){
if ($.trim(parsed[index[1]]) !== "")
{
alertObj.bravoFilled = true;
}
else {
alertObj.bravoFilled = false;
}
}
counter++;
}
});
return alertObj;
}
checkAlertFilled.php返回
type = "Table1" or "Table2"
tableField = "Column1" or "Column2" or "Column3"
monthYear = "JUL2016 ECHO" as an example
month = "JUL"
year = "2016"
和其他变量
echoFilled = "true" or "false"
bravoFilled = "true" or "false"
请写一些代码,你在checkAlertFilled.php – eronax59