我试图让一个函数从另一个页面上的php文件中获取一个对象.我正在使用jQuery ajax函数来执行json抓取,这是正常的.问题是当我尝试从函数返回该对象时.
我第一次记录对象(在成功函数内)它在控制台中是正确的,但函数getGantt()返回的对象记录为"未定义".
如何从函数中获取此对象?
我的代码:
function getGantt(requestNumber){
var ganttObject;
$.ajax({
type: "POST",
url: "get_gantt.php",
data: {request_number: requestNumber},
success: function(returnValue){
ganttObject = $.parseJSON(returnValue);
console.log(ganttObject); //this logs a correct object in the console
}
});
return ganttObject;
}
$(function(){ //document ready function
var requestNumber = $('#request_number').text();
var ganttObject = getGantt(requestNumber);
console.log(ganttObject); //this logs "undefined"
}); //end document ready function
Run Code Online (Sandbox Code Playgroud) 通常在我的更多面向.NET的同事添加的代码中,我会碰到这样的事情:
function someFunction()
{
$localVariable = otherFunction();
$ret = $localVariable * 2; // or whatever
$localVariable = null;
return $ret;
}
Run Code Online (Sandbox Code Playgroud)
设置$localVariable为null 有什么好处吗?因为它是一个局部变量(因此无论如何都会超出范围),我会假设没有,但如果我错了,请纠正我.
我希望有一个所有间隔的总和,但我写这个代码我有一个错误说明:使用未分配的局部变量total?
enter TimeSpan total;
foreach (var grp in query)
{
TimeSpan interval = TimeSpan.FromMinutes(grp.Minuut);
TimeSpan intervalH = TimeSpan.FromHours(grp.Sum);
interval = interval + intervalH;
total += interval;
string timeInterval = interval.ToString();
dataGridView2.Rows.Add(i++, grp.Id, grp.Sum, grp.Minuut,timeInterval);
}
Run Code Online (Sandbox Code Playgroud) 我今天遇到的代码看起来有点像这样:
subroutine foo()
real blah
integer bar,k,i,j,ll
integer :: n_called=1
save integer
...
end
Run Code Online (Sandbox Code Playgroud)
看起来这里的意图可能是save n_called,但是即使是一个有效的语句来保存所有整数 - 或者它是否隐含地声明了一个名为integer并保存它的变量?
我正在尝试编写一个简单的骰子滚动游戏,如果骰子匹配,那就是胜利,如果它们是一个数字,它是一个平局(junker),如果它们既不满足这些条件,那也是一种损失.
我正在使用do while循环,并且似乎无法获取局部变量来初始化:
import java.util.Scanner;
public class Program06
{
public static void main(String[] args)
{
Scanner stdIn = new Scanner(System.in);
String response = "k";
int d1 = 1;
int d2;
int win;
int lose;
int junker;
System.out.println("Welcome to Computer Dice");
System.out.println("---------------------------");
System.out.println("\nYou will first roll your dice");
System.out.println("Next the outcome of your roll will be determined:");
System.out.println("Any pair and you Win");
System.out.println("Anything else and you Lose");
System.out.println("\n----------------------------");
System.out.println();
do
{
System.out.println("Player");
System.out.println("----------");
d1 = (int)(Math.random() * 6) + 1;
d2 …Run Code Online (Sandbox Code Playgroud) 今天我浪费了一个小时调试一个简单的问题,其中一个名为local的变量server被初始化和配置 - 然后,在同一个文件的最后一行上,意外地重新声明它,例如通过另一个var server = ...语句,有效地创建一个新变量命名server,从而导致前一个变量超出范围; 然而,因为这些是相同类型的变量,具有相同的名称,所以其他一切继续工作,这使得调试相当困难.
是否有TypeScript或JavaScript语言功能,可以防止这种情况?
我的想法是,在同一范围内声明两个具有相同名称的变量,根本不应该被允许.
也许有一个短绒或一些质量保证工具,有能力检查和防止这种事情?(也许还有其他"坏"模式?)
假设我有一个活动,它包含一个TextView.我可以将TextView初始化为成员变量或局部变量.这些与初始化之间有任何记忆明智的区别吗?
示例: 具有本地视图引用的活动:
public class MainActivity extends Activity{
@OVerride
public void onCreate(Bundle b){
TextView textView = (TextView)findViewById(R.id.my_text_view_id);
}
}
Run Code Online (Sandbox Code Playgroud)
成员视图参考的活动:
public class MainActivity extends Activity{
TextView mTextView;
@OVerride
public void onCreate(Bundle b){
mTextView = (TextView)findViewById(R.id.my_text_view_id);
}
}
Run Code Online (Sandbox Code Playgroud) memory android local-variables member-variables android-view
我一直在尝试制作加密和解密系统,但我遇到了一个小错误.这是我的代码:
import sys
import pyperclip
def copy(data):
question = input("Copy to clipboard? ")
if question.lower() == 'yes' or question.lower() == 'y':
pyperclip.copy(data)
print("Encrypted message copied to clipboard.")
rerun()
elif question.lower() == 'no' or question.lower() == 'n':
rerun()
else:
print("You did not enter a valid input.")
copy(data)
def rerun():
ask = input("\nWould you like to run this program again? ")
if ask.lower() == "yes" or ask.lower() == "y":
print(" ")
run()
elif ask.lower() == 'no' or ask.lower() == 'n':
sys.exit("\nThank you!") …Run Code Online (Sandbox Code Playgroud) 我可以在表格中获取复选框以在选中/取消选中时发出更改,但是在单击地图图钉以切换复选框状态时遇到问题。
这是我的表:
<mat-table [dataSource]="dataSource">
<ng-container matColumnDef="number">
<mat-header-cell *matHeaderCellDef> Number </mat-header-cell>
<mat-cell *matCellDef="let stock">
// #myCheckbox needs to be unique
<mat-checkbox #myCheckbox [checked] (change)="selectStock(stock, $event)"></mat-checkbox> <a href="">{{ stock.number }}</a>
</mat-cell>
</ng-container>
<mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
<mat-row *matRowDef="let row; columns: displayedColumns;" (click)="clickRow(row._id,$event)"></mat-row>
</mat-table>
Run Code Online (Sandbox Code Playgroud)
然后从我的地图上,当你点击一个大头针时,运行一些功能
(click)="someFunction(myCheckbox)"
Run Code Online (Sandbox Code Playgroud)
在我的班级
@ViewChild('myCheckbox') private myCheckbox: MatCheckbox;
someFunction(myCheckbox){
if (stock.isChecked) {
this.myCheckbox.checked = false;
} else {
this.myCheckbox.checked = true;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我正在处理的示例,但它对每个复选框应用了相同的 #id,因此只有第一个复选框被切换(我假设每个复选框都需要唯一的唯一 ID?)
我有以下几点:
x = [1,2,3,4,5]
def foo(lbd:str, value):
ret_val = eval(lbd, globals(), locals())
print(ret_val)
Run Code Online (Sandbox Code Playgroud)
在此调用中使用 'value' 变量成功:
>>> foo("[i for i in value]",x)
[1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
但是这个失败了:
>>> foo(r"any([x in value for x in {'',0,None,'0'}])", x)
Traceback (most recent call last):
File "<pyshell#171>", line 1, in <module>
foo(r"any([x in value for x in {'',0,None,'0'}])", x)
File "<pyshell#165>", line 2, in foo
ret_val = eval(lbd, globals(), locals())
File "<string>", line 1, in <module>
File "<string>", line 1, in <listcomp>
NameError: …Run Code Online (Sandbox Code Playgroud) local-variables ×10
function ×2
javascript ×2
python ×2
python-3.x ×2
ajax ×1
android ×1
android-view ×1
angular ×1
angular5 ×1
c# ×1
do-while ×1
encryption ×1
eval ×1
fortran ×1
java ×1
jquery ×1
memory ×1
ngfor ×1
null ×1
php ×1
save ×1
typescript ×1