为什么send经常被称为
xhr.send(null)
Run Code Online (Sandbox Code Playgroud)
代替
xhr.send()
Run Code Online (Sandbox Code Playgroud)
?
W3,MDN和MSDN都声明它是可选的.此外,ActiveX控件似乎不需要参数:
hr=pIXMLHTTPRequest.CreateInstance("Msxml2.XMLHTTP.6.0");
SUCCEEDED(hr) ? 0 : throw hr;
hr=pIXMLHTTPRequest->open("GET", "http://localhost/books.xml ", false);
SUCCEEDED(hr) ? 0 : throw hr;
hr=pIXMLHTTPRequest->send(); // <-- this line
SUCCEEDED(hr) ? 0 : throw hr;
Run Code Online (Sandbox Code Playgroud)
这种做法send(null)至少可以追溯到2005年的Google地图,但是在缩小范围之后,没有任何解释:
Y.asynchronousTransform = function (qc, vb, kc, Nc, Ba) {
if (m.type == 3) return;
var cc = Y.getCached(kc);
if (cc) {
cc.transformToHTML(qc, vb);
if (Nc) Nc();
return
}
var yc = qa.create(Ba); …Run Code Online (Sandbox Code Playgroud) 我一直在尝试用PHP做一些正则表达式操作,我在这方面不是很熟练.似乎当我在字符串上使用像preg_replace这样的正则表达式函数时,我可以通过某种名为$ 1,$ 2的变量来访问正则表达式替换的字符串,依此类推.这叫什么,我该如何使用它?
我有这个Dockerfile,我在其中运行命令RUN,并且我想在运行时查看其输出docker build:
FROM alpine:3.14
COPY . .
RUN echo "here are some numbers: $(seq 10)"
Run Code Online (Sandbox Code Playgroud)
当我运行时docker build .,它不显示上述命令的输出:
[+] Building 2.8s (8/8) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 36B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/alpine:3.14 1.2s
=> [internal] load build context 0.1s
=> => transferring context: 188.24kB 0.1s
=> CACHED [1/3] FROM docker.io/library/alpine:3.14@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 …Run Code Online (Sandbox Code Playgroud) 所以我将我的网站从Apache转移到Nginx,我遇到了这个场景的问题:
用户上传照片.此照片已调整大小,然后复制到S3.如果磁盘上有合适的空间(或者文件无法传输到S3),则保留本地版本.
我想要请求这些图像(例如http://www.mysite.com/p/1_1.jpg)首先查看p /目录.如果不存在本地文件,我想将请求代理到S3并呈现图像(但不是重定向).
在Apache中,我这样做:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^p/([0-9]+_[0-9]+\.jpg)$ http://my_bucket.s3.amazonaws.com/$1 [P,L]
Run Code Online (Sandbox Code Playgroud)
我试图在Nginx中复制这种行为是这样的:
location /p/ {
if (-e $request_filename) {
break;
}
proxy_pass http://my_bucket.s3.amazonaws.com/;
}
Run Code Online (Sandbox Code Playgroud)
会发生什么事情是每个请求都尝试命中Amazon S3,即使该文件存在于磁盘上(如果它在亚马逊上不存在,我也会收到错误.)如果我删除了proxy_pass行,那么磁盘DO上的文件请求就会起作用.
有想法该怎么解决这个吗?
我有一个网站example.com/test/.让我们说网站的布局如下:
example.com
??? test/
??? assets/
? ?? stylesheet.css
?
??? .htaccess
??? index.php
Run Code Online (Sandbox Code Playgroud)
index.php 这是路由器,现在看起来很酷.
每当用户请求类似的页面时example.com/test/stylesheet.css,我想检查是否assets/有该文件,如果有,请提供该文件而不是提供URL index.php.理想情况下,以下方法可行:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond assets/%{REQUEST_FILENAME} -f
RewriteRule ^(.+)$ assets/$1
Run Code Online (Sandbox Code Playgroud)
但既然%{REQUEST_FILENAME}是一条绝对的道路,assets/%{REQUEST_FILENAME}那就像是一样assets/home/public/test/stylesheet.css.%{REQUEST_URI}不是更好:它变成了assets/test/stylesheet.css.我也看了这个问题,但答案也没有用.
有没有办法,没有诉诸PHP,这样做?(如果没有,我只会使用PHP readfile,但我不想担心LFI或其他任何东西.)
所以我有两个这样的类:
class foo {
/* code here */
}
$foo = new foo();
class bar {
global $foo;
public function bar () {
echo $foo->something();
}
}
Run Code Online (Sandbox Code Playgroud)
我想在所有方法栏中访问foo的方法,而不是在bar内的每个方法中声明它,如下所示:
class bar {
public function bar () {
global $foo;
echo $foo->something();
}
public function barMethod () {
global $foo;
echo $foo->somethingElse();
}
/* etc */
}
Run Code Online (Sandbox Code Playgroud)
我也不想延长它.我尝试使用var关键字,但似乎没有用.我怎么做才能在bar的所有方法中访问其他类"foo"?
我一直在使用Flask登录模块,它在服务器上创建和维护会话.
由于服务器维护会话,我认为它不是完全无状态的.当应用程序有多个服务器时,它是如何工作的.请求是否应该是粘性的(即,给定会话应该对特定服务器发出后续请求)?
在关系数据库中,我们可以拥有一个与其他表没有任何关系的表吗?
sql database-design relational-database entity-relationship-model
如果我想在评估 RewriteRules 之前设置环境变量,我必须使用SetEnvIf而不是SetEnv. 不过,SetEnvIf需要具备一个条件。事实上,我有:
SetEnvIf Request_Method ^ ENV=VALUE
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
目前我正在阅读有关回调函数的 php 手册,并发现了有趣的注释:
如果在先前的回调中抛出未捕获的异常,则不会调用使用call_user_func() 和 call_user_func_array() 等函数注册的回调。
很明显,脚本运行会在未捕获异常的情况下被中断。那么,为什么php手册的作者还要写关于call_user_func的呢?还是我误解了声明?
php ×3
.htaccess ×2
variables ×2
ajax ×1
amazon-s3 ×1
callback ×1
docker ×1
dockerfile ×1
flask ×1
flask-login ×1
global ×1
javascript ×1
mod-rewrite ×1
nginx ×1
proxy ×1
python ×1
regex ×1
sql ×1