javascript - 如何在这篇文章中制作变量,全球?
问题描述
如何在这篇文章中进行变量,全球?console.log(BANK_NAME) 在此 POST 函数内部但在外部显示未定义时返回值?谁能帮我解决这个问题?
var param={'id':$('#bankId').val()};
BANK_NAME;
$.post('<?php echo base_url(); ?>Employees/loadBankDataByID',param,function(data){
// console.log(data);
var obj=JSON.parse(data);
obj=obj[0];
var BANK_NAME = obj.BANK_NAME;
console.log(BANK_NAME); // it returns that value.
});
console.log(BANK_NAME); // it say undefined here/
解决方案
这是因为您的 POST 请求是异步的。换句话说,它发生在(同步)代码执行的正常流程之外。
所以这是一个在邮递员送达之前试图打开信的问题。
使用 AJAX,您需要使用在请求完成时运行的回调。你已经用一些代码来做这件事了。只需确保依赖于请求结果的所有代码都在回调中。
//initiate the request
var req = $.post('<?php echo base_url(); ?>Employees/loadBankDataByID',param);
//log a callback to run after the request succeeds
req.done(function(data){
var obj=JSON.parse(data);
obj=obj[0];
var BANK_NAME = obj.BANK_NAME;
console.log(BANK_NAME);
});
//we can log multiple callbacks - anything that depends on the request should go in one
req.done(function() {
alert('request complete!');
});
推荐阅读
- wso2 - WSO2:从传入的 IBM MQ 消息中获取 MQRFH2 标头
- python - 关于在 Bokeh 中矢量化颜色的问题
- mysql - 使用 .Net Core Web Api 中的数据从 MySQL DB 生成 SQLite DB
- javascript - Google Chrome 扩展程序中的 Microsoft Translate API 错误 405000
- php - CSRF 保护 Codeigniter
- python - 在 Plotly Python 中对数据进行排序和排序
- r - R绘制具有平滑效果的图形
- swift - 云功能发布请求未正确向 IOS 应用程序发送错误消息
- tinymce - TinyMCE 5 在空标签中添加空间
- django - 在 Django 中为登录用户赋值