javascript - Ajax 响应看起来未定义
问题描述
我正在尝试获取 ajax 响应并将其归因于一个变量(比如说 _has_weekend_hollidays),如下所示:
JS 调用:
_has_weekend_hollidays = checkWeekendHollidays( _i );
console.log ( checkWeekendHollidays( _i ) );
AJAX 调用
$.ajax({
url: "./directory/ajax_check_weekend_hollidays.php",
type: "POST",
data: {
start_date: _date1,
final_date: _date2
}
}).done(function (_result) {
return ( _first_weekday == 0 || _last_weekday_id >= 6 || _result!="0" );
}).fail(function (_result) {
console.log("ERROR:" + _resultado);
});
AJAX _result 正常,但返回不起作用。
所以 console.log 显示undefined。
有任何想法吗?
提前致谢!
解决方案
如果您需要结果继续,请在 Ajax 回调之后执行您的工作。
这是undefined
因为 Ajax 没有返回变量:
{
url: "./directory/ajax_check_weekend_hollidays.php",
type: "POST",
data: {
start_date: _date1,
final_date: _date2
}
}
这一行:
return ( _first_weekday == 0 || _last_weekday_id >= 6 || _result!="0" );
在 Ajax “完成”之前不会执行。
如果您希望记录返回数据,请在返回函数中使用 console.log。
例子:
$.ajax({
url: "./directory/ajax_check_weekend_hollidays.php",
type: "POST",
data: {
start_date: _date1,
final_date: _date2
}
}).done(function (_result) {
console.log(_first_weekday == 0 || _last_weekday_id >= 6 || _result!="0");
//do something else here too
}).fail(function (_result) {
console.log("ERROR:" + _resultado);
});
推荐阅读
- python - 如何从给定列表中创建具有特定标题的数据框列表
- excel - 如何在 For Next 中应用 Step -1 以相反的顺序循环?
- python - TypeError: 'numpy.int64' object is not iterable - 所有值都是浮点数,但我仍然收到错误消息。我该如何解决这个问题?
- swift - 为什么我在不同的项目(Swift)中得到两个不同的屏幕尺寸?
- javascript - 删除下拉列表中的选择选项时,如何使该字段回退到 ReactJS 中的默认值?
- c# - 存储和组
基于 的所有字典记录 匹配 X - node.js - 弃用警告:crypto.createCipher 在 nodejs 中已弃用
- python - Brightway - 导入 ecoinvent 3.5 时出现 AssertionError
- css - 如何使用预建的角度材料主题的颜色?
- c++ - 当我将输入 III 作为字符串输入时,罗马到整数问题它给出 333 作为答案而不是 3 有人可以更正我的代码