小编Sim*_*ing的帖子

如何在使用jQuery时处理Javascript错误?

我的情况

嗨,我相对较新的Javascript所以我的问题可能很容易.我为我的公司开发了多个webapps.我经常遇到的一个问题是Javascript错误.我知道如何使用try/catch来处理它们.

我想做的事

我想要在服务器上写一个日志文件,或者给用户一些他们可以发送给我的东西,而不需要任何调试知识.这意味着,必须通知用户在两种情况下都发生了错误.

我已经做了什么

我有一个想法是使用try catch并使用我在这里找到的代码:https://stackoverflow.com/a/6055620/3581748,以便用户向我发送堆栈跟踪.

例:

<button id="demo" onClick="errorHandling()">Produce error</button>
<script>
function errorHandling() {
    try {
        document.getElementById("somethingNotExisting").value * 2;
    } catch (_err) {
        window.prompt("Copy to clipboard: Ctrl+C, Enter", _err.stack);
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)

或者在这里:https://jsfiddle.net/n79xv6nt/

哪个适用最多次.

问题

我有时使用jQuery在我的"main"页面中嵌入脚本文件.例:

<div id="forScript"></div>
<script>
    $("#forScript").load('scripts/additionalScript.php');
</script>
Run Code Online (Sandbox Code Playgroud)

如果我使用上面的代码(下面的代码"我已经做了什么").我没有得到一个堆栈跟踪,告诉我发生错误的位置.它反而指向一个jQuery文件.Google Chrome控制台会显示真实的堆栈跟踪.另一个问题是,我拿到亚麻布后如何找到文件?在我的IDE中,线条是不同的,因为中间有PHP.

我的问题

是否有可能为此案件获得良好的错误消息?(最好不要自己抛出错误)如何访问附加脚本并查看chrome看到的相同亚麻布?你会如何通知用户/记录错误?

javascript error-handling jquery

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

Google Charts在第一张图表后停止绘制

我想做的事

在一个页面上显示多个条形图

我已经做了什么

Barcharts主要是Linecharts.作为Linecharts,我可以在同一页面上显示两个图表而没有问题.我使用了两个单独的drawChart()函数.然后我将图表转换为Barcharts(材料设计).现在它只显示一个图表.我已经搜索了一个答案并发现了这个:如何在一个页面上添加两个Google图表? 我遵循这个,它仍然无法正常工作.

我的守则

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
    google.load("visualization", "1.1", {
        packages: ["Bar"]
    });
    google.setOnLoadCallback(drawChart);

    function drawChart() {

        var data1 = new google.visualization.DataTable();
        data1.addColumn("string", "Key1");
        data1.addColumn("number", "Value1");

        data1.addRows([
            ['2015.01', 65.5],
            ['2015.02', 52.6],
            ['2015.03', 45.5],
            ['2015.04', 40.7],
            ['2015.05', 68.7],
            ['2015.06', 56.4],
            ['2015.07', 38.4],
            ['2015.08', 45.2],
            ['2015.09', 45.2],
            ['2015.10', 4.8]
        ]);

        var data2 = new google.visualization.DataTable();
        data2.addColumn("string", "Key2");
        data2.addColumn("number", "Value2");

        data2.addRows([
            ['2015.01', 300.08],
            ['2015.02', 455.08],
            ['2015.03', 454.62],
            ['2015.04', 362.93],
            ['2015.05', 527.12],
            ['2015.06', 588.28],
            ['2015.07', 409.93],
            ['2015.08', 432.08],
            ['2015.09', …
Run Code Online (Sandbox Code Playgroud)

javascript charts google-visualization

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

我不能让phpseclib工作

我想做的事

我想通过使用upload/ download文件.在看起来非常有前途.sftpphpphpseclib-library

我已经做了什么

我将我的conposer.json改为:

{
    "require": {
        "nicolab/php-ftp-client":"*",
        "php-curl-class/php-curl-class":"*",
        "phpseclib/phpseclib":"*"
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我更新了我的目录.Composer将库安装在vendor文件夹中.

问题

问题是我无法创建新的SFTP-Object.

Fatal error: Class 'SFTP' not found in...
Run Code Online (Sandbox Code Playgroud)

我也尝试NET_SFTP过类名,但这也不起作用.有一点我不明白为什么在它上面,它声明classname是NET_SFTP在源中明确调用的SFTP.

自动加载似乎不起作用.

我添加echo "testline";到库中以查看文件是否已加载.如果我使用自动加载,没有任何反应.如果我手动包含该文件,"testline"则打印但仍未找到该类.

我的守则

例一

<?php
include '/vendor/autoload.php';

$sftp = new SFTP('domain');
if (!$sftp->login('user', 'pass')) {
    exit('Login Failed');
}
Run Code Online (Sandbox Code Playgroud)

- >没有回音

示例二:

<?php
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib/phpseclib');

include('Net/SSH2.php');

include('Net/SFTP.php');

$sftp = new SFTP('www.domain.tld'); …
Run Code Online (Sandbox Code Playgroud)

php phpseclib

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