小编Cer*_*nce的帖子

CakePHP Javascript确认对话框表单提交取消不起作用

使用我的CakePHP注册表单,一旦点击提交按钮,我只想显示Javascript确认对话框,它应该像:

  • 如果按下确定,则应提交表格
  • 如果按下取消,则不应该进行提交操作

但是在这里,当我按下取消时,虽然它被提交了.不知道为什么?

CakePHP表格代码:

<?php echo $form->create('Noncompetitor', array('type' => 'file', 'url' => '/register', 'onSubmit' => 'confirmfrmSubmit();'));?> 
Run Code Online (Sandbox Code Playgroud)

我的JS代码:

function confirmfrmSubmit(){

    var agree=confirm("Are you sure you wish to continue?");

    if (agree)
        return true ;
    else
        return false ;
}
Run Code Online (Sandbox Code Playgroud)

如果你的同事对此有所了解,请告诉我.

谢谢 !

javascript confirm cakephp submit

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

Nodejs异步承诺队列

我需要使用速率受限的 API。例如,我在一秒钟内只能进行 10 次 API 调用,因此我需要等待当前一秒结束才能进行另一次 API 调用。

为了实现这一点,我想制作一个可以自行管理的异步队列。它的主要功能是让我向队列添加一个新的承诺,当承诺得到解决时,应用程序会收到通知:

let queue = new Queue()

queue.add(api.get('/somepath')).then(res => { // handle response });
Run Code Online (Sandbox Code Playgroud)

我如何使用普通的 Promise 来实现这一点?

export class AsyncQueue {

    private queue: Array<Promise<any>>;


    add(promise, fct) {
        this.queue.push(promise);
    }

    resolveNext() {
        this.queue.pop().then({
            // how to resolve the waiting promise in my application
        })
    }

    get length() {
        return this.queue.length
    }

}
Run Code Online (Sandbox Code Playgroud)

javascript queue asynchronous node.js es6-promise

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

在声明变量时使用var和not有什么区别?

var a = 123;
b = 456;
console.log(window.a, window.b); // 123, 456
delete window.a; // true
delete window.b; // false
console.log(window.a, window.b); // 123, undefined
Run Code Online (Sandbox Code Playgroud)

如果不使用var,为什么不能删除全局变量?

javascript

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

有多少人适合这个数字?

我是Javascript的新手.

我想知道每个数字中有多少数字.所以894等于8. 323等于3.

这是我写的代码,你可以猜到它不起作用.

function howManyHundreds(num) {
  return num / 100;
  return num % 10;
}

console.log(howManyHundreds(894))

console.log(howManyHundreds(323))
Run Code Online (Sandbox Code Playgroud)

894将打印到8.94,323将打印为3.23

我做错了什么,我需要知道什么?我使用模数运算符错了吗?

谢谢您的帮助.

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

这在 NodeJS 中是未定义的

所以这里是我的 route.js 文件,它处理所有的路由。

// Import post controller
const PostController = require('../controllers/post');

// Call post controller for API
router.post('/posts', PostController.create);
Run Code Online (Sandbox Code Playgroud)

然后控制器中有 post.js 文件,它导出 Post 类。

const PostModel = require('../models/post');

class Post 
{
    async create ()
    {
        response = {};

        let posts = await PostModel.find({});

        response.additionalInfo = this.getAdditionalInfo();

        res.status(200).send({response});
    }

    getAdditionalInfo ()
    {
        // returns some data for users and something
    }
}

module.exports = new Post();
Run Code Online (Sandbox Code Playgroud)

现在我的问题是如何getAdditionalInfo()从 create 方法调用?因为如果我尝试this.getAdditionalInfo()我会undefined出错。

这是如何create使用:

router.post('/posts', PostController.create);
Run Code Online (Sandbox Code Playgroud)

node.js ecmascript-6

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

解析 JSON 中的反斜杠转义序列时出错

我正在尝试解析从 API 获取的 JSON 字符串:

var inputString = '{ "AccountName": "NT AUTHORITY\\SYSTEM"}'
console.log(JSON.parse(inputString)) // View in browser console to see real error
Run Code Online (Sandbox Code Playgroud)

上面的代码给出错误:

未捕获的语法错误:JSON 中的意外标记 S 位于 program.html:7 处 JSON.parse () 的位置 31 处

现在下面的代码可以工作:

var inputString = '{ "AccountName": "NT AUTHORITY\\\\SYSTEM"}'
console.log(JSON.parse(inputString))
Run Code Online (Sandbox Code Playgroud)

它显示了输出:

{AccountName: "NT AUTHORITY\SYSTEM"}
Run Code Online (Sandbox Code Playgroud)

反斜杠字符是 JSON 中的转义序列。但是为什么我需要四个反斜杠来创建一个反斜杠呢?不应该只是吗\\

我从被调用的 API 获得的 JSON 响应\\在有路径的情况下只给了我两个。所以我的代码被破坏了。我相信API的JSON格式是正确的。当我尝试在在线JSON 查看器上解析此响应时,他们能够成功解析它。

javascript json

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

Jest Expect 无法捕获 async wait 函数的 throw

我正在使用 MongoDB 和 Mongoose 测试 typescript-express ap。对于此测试,我使用 jest 和 mongo-memory-server。我可以测试插入新文档并将现有文档检索到数据库中,但当文档不存在时我无法捕获错误。

const getUserByEmail = async (email: string): Promise<UserType> => {
  try {
    const user = await User.findOne({ email });
    if (!user) {
      const validationErrorObj: ValidationErrorType = {
        location: 'body',
        param: 'email',
        msg: 'User with this email does not exist!',
        value: email,
      };
      const validationError = new ValidationError('Validation Error', 403, [
        validationErrorObj,
      ]);
      throw validationError;
    }
    return user;
  } catch (err) {
    throw new Error(err);
  }
};


let mongoServer: any;
describe('getUserByEmail', (): …
Run Code Online (Sandbox Code Playgroud)

integration-testing express typescript supertest jestjs

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

如何在一行中从单独的解构属性中解构?

const { navigation, currentScreen, childIndex } = this.state
const screen = navigation[currentScreen]
Run Code Online (Sandbox Code Playgroud)

如何在一行代码而不是两行代码中编写此代码?

javascript destructuring reactjs

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

REACT- DOM 突变警告含义

[违规] 向“DOMNodeInserted”事件添加了同步 DOM 突变侦听器。考虑使用 MutationObserver 来使页面响应更快。

关于此警告还有另一个问题。我已经在那里回答了解决该问题的方法,这不是这个问题的原因。(对于那些想知道的人:如果您向事件处理程序添加 setTimeOut 函数,此警告就会消失,因此它不再同步)

真正的问题是:“DOM 突变监听器”是什么意思?或者什么是“DOM 突变监听器”?它有什么作用?我问过老师,他也不知道。他建议这可能是现在已弃用的东西,但我觉得它的出现是有原因的,我想完全理解它,以防我将来遇到类似的错误,但与“DOM 突变侦听器”不同。

javascript reactjs

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

我不知道 var 的范围

我想用香草 js 制作一张桌子。但是根据我声明 var 的位置,我得到了不同的结果。

var body = document.body;
var table = document.createElement('table');
var tr = document.createElement('tr');
var td = document.createElement('td');
body.appendChild(table);
for (var i = 0; i < 3; i +=1) {
    
    table.appendChild(tr);
    for (var j = 0; j < 3; j+=1) {
        
        tr.appendChild(td);
        td.textContent = 'td';
    }
}
Run Code Online (Sandbox Code Playgroud)

我想做 3*3 的桌子。但是它做了1*1的桌子。

var body = document.body;
var table = document.createElement('table');
body.appendChild(table);
for (var i = 0; i < 3; i +=1) {
    var tr = document.createElement('tr');
    table.appendChild(tr);
    for (var …
Run Code Online (Sandbox Code Playgroud)

javascript scope

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