我目前在使用javascript和python在web2py中进行通信时遇到问题.
控制器:
def testDB():
a=[]
a.append('a')
a.append('b')
a.append('c')
return dict(m=a)
Run Code Online (Sandbox Code Playgroud)
(最终这将被一行数据库行替换)目前我正在尝试将m中的值分配给javascript中的数组.我试过几个方法:
var t="{{=m}}";
Run Code Online (Sandbox Code Playgroud)
返回大约43个无意义的字符.然后我尝试了:
var t= new Array(); var i=0;"{{q=0}}"
"{{i=len(message)}}"
i="{{=i}}";
for(q=0;q<i;q++,"{{q=q+1}}"){
t[q]="{{m[q]}}";
}
Run Code Online (Sandbox Code Playgroud)
哪个失败,因为每次循环时python q变量都会重置,这是我问题的核心.我也尝试过使用pop:
for(q=0;q<i;q++,"{{q=q+1}}"){
alert("{{m.pop()}}");
}
Run Code Online (Sandbox Code Playgroud)
但是数组在循环开始时会再次重置,因此它会一直显示相同的变量.有没有更简单的方法来复制数组,或停止python变量重置,甚至只是简单地将javascript q变量插入"{{m [q]}}"?
从我发现,问题就来了蟒蛇是服务器端,所以你不能分配的JavaScript值,它的变量,但我不知道是什么与它的循环部分做(如果我做同样的在循环外,值不会重置).常见的解决方案似乎是使用ajax或json,但我想尽可能避免使用它.谢谢
我有一个关于directshownet示例中的一些演示代码的快速问题.以下是:
// Set the video to stream to pictureBox1
int hr;
hr = this.videoWindow.put_Owner(this.pictureBox1.Handle);
DsError.ThrowExceptionForHR(hr);
Run Code Online (Sandbox Code Playgroud)
优先:
// Set the video to stream to pictureBox1
DsError.ThrowExceptionForHR(this.videoWindow.put_Owner(this.pictureBox1.Handle));
Run Code Online (Sandbox Code Playgroud)
出于任何原因?如果是这样,为什么?干杯