小编Aks*_*pal的帖子

使用JSON进行XmlHttpRequest POST

如何使用vanilla JS发送一个AJAX POST请求发送JSON数据.

我理解内容类型是url表单编码,它不支持嵌套的JSON.

有没有什么办法可以在普通的旧JS中使用嵌套的JSON来发出这样的POST请求.我已经尝试了SO上的各种序列化方法,但它们都将我的JSON压缩成一种格式.

这是我的JSON:

{
   email: "hello@user.com",
   response: {
       name: "Tester"
   }
}
Run Code Online (Sandbox Code Playgroud)

javascript ajax json

68
推荐指数
1
解决办法
12万
查看次数

某些页面请求操作的音频持续时间NaN

我一直在尝试使用HTML5和Jquery创建自定义媒体播放器.

我遵循不同的方法,并根据我刷新页面的方式遇到了一些麻烦.

第一个案例

$(document).ready(function(){
    duration = Math.ceil($('audio')[0].duration);
    $('#duration').html(duration);
});
Run Code Online (Sandbox Code Playgroud)

在这种情况下,当我通过按ENTER地址栏中的键将页面重定向到同一URL时,持续时间返回NaN .但是,当我使用reload button或按下F5按钮刷新时它完全正常.

第二个案例

我在一些答案中读到,loadedmetadata事件发生后加载持续时间可能有所帮助.所以我尝试了以下方法:

$(document).ready(function(){
    $('audio').on('loadedmetadata', function(){
        duration = Math.ceil($('audio')[0].duration);
        $('#duration').html(duration);
    });
});
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,在这种情况下,发生了第一种情况的反转.在重定向的情况下,即ENTER在地址栏中按下时,持续时间显示完全正常.但是,在使用F5按钮刷新或者刷新的情况下reload button,持续时间根本不会显示,甚至NaN都不会导致我认为代码根本没有被执行.


进一步阅读建议这可能是webkit浏览器中的一个错误,但我找不到任何结论性或有用的.

这种奇特行为背后的原因是什么?如果你能解释一下这个问题,那就太棒了.

编辑:我主要是寻找这种行为差异背后的解释.我想了解在重定向和刷新的情况下渲染页面背后的机制.

javascript jquery html5 html5-audio

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

Amazon S3 静态站点提供旧内容

我的 S3 存储桶托管一个静态网站。我没有设置 cloudfront。

我最近更新了 S3 存储桶中的文件。当文件得到更新时,我在存储桶中手动确认。它仍然提供旧版本的文件。在 S3 上托管的静态网站上是否存在某种缓存或版本控制?

到目前为止,我无法在 SO 上找到任何解决方案。注意:未启用 Cloudfront。

amazon-s3 amazon-web-services

5
推荐指数
2
解决办法
4549
查看次数

如何在Knex JS中使用IS NOT NULL

我正在尝试使用knex创建以下查询:

SELECT * FROM users group by users.location having users.photo is not null

如下:

knex("users").groupBy("users.location").having("users.photo", "IS NOT", "Null")

我收到以下错误:

The operator IS NOT is not permitted

我已经阅读了他们的文档,找不到任何有用的东西.

javascript mysql node.js knex.js

4
推荐指数
3
解决办法
9288
查看次数

如何从 Chrome 扩展程序触发特定网站上的功能?

最近开始使用 Chrome 扩展。我想弄清楚如何仅在特定网站上执行功能。

例如,我只想在 Stack Overflow 上显示一个警报框。我正在使用 Chrome 的声明性内容 API 来匹配主机。

我还没有找到类似的问题。

我的manifest.json 文件正在后台运行以下代码块。

'use strict';

chrome.runtime.onInstalled.addListener(function() {
chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
    chrome.declarativeContent.onPageChanged.addRules([{
        conditions: [
            new chrome.declarativeContent.PageStateMatcher({
                pageUrl: {
                    hostEquals: 'stackoverflow.com'
                }
            })
        ],
        actions: [new chrome.declarativeContent.SOOnlyFunction()]
    }]);
});
});

function SOOnlyFunction()
{
    alert('On SO');
}
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome google-chrome-extension google-chrome-devtools

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

如何设置音频的持续时间

我试图使用音频的HTML DOM持续时间属性设置音频标签的持续时间.

我尝试了以下但它似乎不起作用: $('audio')[0].duration = 1;

我已经通过其他答案,但我看不到任何使用持续时间属性.

如果持续时间属性是readonly,它还有什么其他方法?

javascript jquery html5-audio

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

在Java中实现Eratosthenes的页面分割筛

我最近阅读了有关大量数字的更快的Eratosthenes分段筛网实施方案的信息。

以下是相同的实现:

function sieve(low, high) {

    var primeArray = [], ll = Math.sqrt(low), output = [];

    for (var i = 0; i < high; i++) {
        primeArray[i] = true;
    }

    for (var i = 2; i <= ll; i++) {
        if (primeArray[i]) {
            for (var j = i * i; j < high; j += i) {
                primeArray[j] = false;
            }
        }
    }

    for (var i = 2; i < ll; i++) {
        if(primeArray[i])
        {
            var segmentStart = Math.floor(low/i) * …
Run Code Online (Sandbox Code Playgroud)

javascript primes sieve sieve-of-eratosthenes

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

如何在PHP exec函数中显示进度栏

我正在使用PHP的exec()功能在PHP中运行外部脚本。我一直在寻找各种选项来创建进度条。我可以通过AJAX创建普通的旋转式装载机,但是无法达到进度条。有什么办法吗?

php shell cmd exec

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

如何在Angular应用程序中获取查询参数而无需状态或路由

我需要在我的Single-Page Angular应用程序的url中查询params.我只需要访问这些数据.

目前,我正在使用它$location.absUrl()来实现这个并split('?')在其上运行一个简单的JS ,它给了我查询.

有没有更好的方法来实现这一点,而不会陷入路由器或状态的复杂性.

PS今天拿起了Angular.放轻松!

javascript angularjs

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