小编edw*_*rkf的帖子

使用jquery ajax下载二进制文件

我试图使用jquery ajax下载二进制音频文件.

通常我会发出这样的命令:

 windows.location.href = 'http://marksdomain(dot)com/audioFile.wav' ;
Run Code Online (Sandbox Code Playgroud)

但是,最近我们的服务器等待响应的时间太长了,我得到一个讨厌的网关超时消息.

有人建议我使用jquery-ajax,这是有道理的,因为那时我会更多地控制超时.

这是我到目前为止玩过的代码:

$.ajax({
    url: 'http://marksdomain(dot)com/audioFile.wav',
    timeout: 999999,
    dataType: 'binary',
    processData: false, // this one does not seem to do anything ?

    success: function (result) {
        console.log(result.length);
    },
    error: function (result, errStatus, errorMessage) {
        console.log(errStatus + ' -- ' + errorMessage);
    }
};
Run Code Online (Sandbox Code Playgroud)

当我省略"dataType"时,二进制文件的大小比服务器上实际大三倍.但是,当我使dataType等于"binary"时,ajax会抛出一个错误:

"No conversion from text to binary"
Run Code Online (Sandbox Code Playgroud)

从一些早期的帖子中,听起来好像jquery-ajax无法以这种方式处理二进制文件.

我确实发现了Delivery.js,它实际上对我正在尝试的东西非常有效,但我宁愿不使用节点解决方案.

有什么建议?

javascript ajax jquery

23
推荐指数
3
解决办法
2万
查看次数

为什么console.table不显示最后一个条目

我缺少一些非常明显的东西,但它出现在我的 chrome 浏览器版本 103.0.5060.134(官方版本)(64 位)上,最后一个条目丢失:

const objectTest = { 'one' : 'this is object one' , 'two' : 'this is object two' , 'three' : 'this is object three' } ; 
console.table (objectTest) ;     // appears to skip the final entry
console.log(objectTest.three) ;  // final entry is available
Run Code Online (Sandbox Code Playgroud)

我必须做什么才能console.table显示最后一个条目?

我想开始使用console.table,但JSON.stringify前提是我能让​​它正常工作。

对我来说更奇怪的是 Firefox 似乎工作正常。

EDIT: its working fine on chrome 100-102 and chrome 104-105. its just appears to be not working properly …

javascript console google-chrome google-chrome-devtools

7
推荐指数
1
解决办法
621
查看次数

使用两个匹配时,preg_match似乎达到了极限

我遇到了一个奇怪的问题.当我尝试使用php-5.3.3使用两个匹配时,看起来我正在使用preg_replace达到某种限制

// works fine
$pattern_1 = '?START(.*)STOP?';
$string = 'START' . str_repeat('x',9999999) . 'STOP' ;
preg_match($pattern_1, $string , $matchedArray )        ;

$pattern_2 = '?START-ONE(.*)STOP-ONE.*START-TWO(.*)STOP-TWO.*?';

// works fine
$string = 'START-ONE this is head stuff STOP-ONE  START-TWO' . str_repeat('x', 49970) . 'STOP-TWO' ;
preg_match($pattern_2, $string , $matchedArray_2 )      ;

// didnt work
$string = 'START-ONE this is head stuff STOP-ONE  START-TWO' . str_repeat('x', 49971) . 'STOP-TWO' ;
preg_match($pattern_2, $string , $matchedArray_3 )      ;
Run Code Online (Sandbox Code Playgroud)

只有一个匹配的第一个选项使用非常大的字符串并且没有问题.

第二个选项的字符串长度为50,026,工作正常.最后一个选项的字符串长度为50,027(一个),匹配不再有效.由于49971号码在发生错误时可能会有所不同,因此可以将其更改为更大的值以模拟问题.

任何想法或想法?也许这是一个php版本的问题?也许一个可能的解决方法只是只使用一个匹配而不是两个,然后运行preg_match两次?

php regex

5
推荐指数
1
解决办法
1345
查看次数

使用CSS为输入字段的占位符设置样式

是否可以在input字段的占位符属性中使用HTML效果?例如,以下是输入字段占位符的输出吗?

正常的大胆

可以使用CSS自定义占位符,::placeholder但它适用于其中的所有文本.如何调整它就像HTML一样?

html javascript css jquery html5

2
推荐指数
1
解决办法
96
查看次数

使用 |tee 时在 BASH shell 变量中保存值

我正在尝试计算一个非常大的文件中的行匹配数,并仅使用 BASH shell 命令将它们存储在变量中。

目前,我正在扫描一个非常大的文件的结果两次,并且每次都使用单独的 grep 语句,如下所示:

$ cat test.txt 
first example line one
first example line two
first example line three
second example line one
second example line two
$ FIRST=$( cat test.txt | grep 'first example'  | wc --lines ; ) ;  ## first run
$ SECOND=$(cat test.txt | grep 'second example' | wc --lines ; ) ;  ## second run
Run Code Online (Sandbox Code Playgroud)

我的结论是:

$ echo $FIRST
3
$ echo $SECOND
2
Run Code Online (Sandbox Code Playgroud)

希望我只想扫描大文件一次。我从未使用过Awk,也不想使用它!

这个|tee选项对我来说是新的。看来将结果传递到两个单独的 …

linux bash shell sh

1
推荐指数
1
解决办法
622
查看次数