小编Don*_*nic的帖子

将jQuery从1.4迁移到3.0

我看到jQuery具有jQuery-migrate脚本来安全升级jQuery。他们有两个jQuery迁移存储库:

  1. https://github.com/jquery/jquery-migrate(用于迁移到3.x)
  2. https://github.com/jquery/jquery-migrate/tree/1.x-stable(用于迁移到1.9)

是否需要先迁移到1.9,然后再迁移到3.x,还是可以仅将第一个脚本包含在我的网站中,然后直接迁移到3.x?使用1.9中删除的API时,3.x迁移脚本是否不会通知?

jquery jquery-migrate

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

显示Jquery从数据库中选择的数据以更新[Codeigniter]

我有jQuery选择以插入形式命名为centro medicos,我可以选择所有数据,选择一些数据.如果我点击这里选择全部是结果:

在此输入图像描述

假设我只选择了3个项目,然后保存.现在我想编辑.加载编辑页面时,我想要加载我选择的3个项目:

在此输入图像描述

如果我点击全选(Selectionar待办事项),则会显示其余项目.

1-控制器

public function edit_form()
{
    $edit_id= $this->uri->segment(3);
    $data['ITEM_EDIT'] = $this->model->get_title_by_id($edit_id);
    $data['ITEM_ALL']= $this->model->get_all_title();
    $this->load->view('view_edit_form', $data);
}
Run Code Online (Sandbox Code Playgroud)

2-视图

<select class="chosen-select"  multiple  name="item[]">
<?php 
    foreach($ITEM_ALL as $item_all) {
        foreach($ITEM_EDIT as $item_edit) {
            if($title_edit->title== $title_all->title)
            { 
                 echo '<option value="'.$item_all->title.'" class="'.$item_all->id.'" selected>'.$item_all->title.'</option>';
             }
             else 
             {
                 echo '<option value="'.$item_all->title.'" class="'.$item_all->id.'" >'.$item_all->title.'</option>';
             }
        }
    }
?>
 </select>
Run Code Online (Sandbox Code Playgroud)

3- jQuery

$(".chosen-select").chosen({
    no_results_text: "Oops, nothing found : ",
})
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

php jquery codeigniter

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

如何通过post方法将数据从ajax传递到laravel 5.2控制器

你好StackOverflow家族.这是我的第一个问题,我希望得到帮助.

我是laravel框架的新手,在我的项目中使用的是5.2版本.我试图使用post方法从我的ajax函数传递数据到特定的控制器方法,但没有数据传递给控制器​​.

我按照这个论坛中的步骤https://laracasts.com/discuss/channels/laravel/process-data-in-controller-using-ajax-in-laravel但无法使其工作.这是我到目前为止所做的.

我的JavaScript(post_script.js):

$.ajax({
    method: 'POST',
    url: './home',
    data: {
        userID: 76,
        userName: 'Jimmy'
     },
});
Run Code Online (Sandbox Code Playgroud)

请注意,此文件保存在assets/jslaravel结构的目录中.这是我在路径文件(routes.php)中的内容:

Route::get('/', "MyController@home");
Route::get('home', "MyController@home");
Run Code Online (Sandbox Code Playgroud)

这是我在MyController.php文件中的功能:

function home(Request $request) {
    $userID = $request['userID'];
    $userName = $request['userName'];
    return view('home', [
      'userID'=> $userID,
      'userName' => $userName
    ]);
}
Run Code Online (Sandbox Code Playgroud)

在我看来,我试图像这样访问它:

<p>User ID: {{$userID}}</p>
<p>User Name: {{$username}}</p>
Run Code Online (Sandbox Code Playgroud)

什么都没显示!请问我做错了什么?我需要你的帮助.如果我的问题不合适,请原谅我,但我希望你明白我的意思.谢谢

javascript php ajax laravel-5.2

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

Nginx 的 CPU 可扩展性方法(每个进程 epoll 事件队列)是最佳的吗?

Nginx 的 CPU 可扩展性方法基于创建几乎独立的进程数量,每个进程拥有一个事件队列,然后使用 SO_REUSEPORT 将传入连接、IRQ、NIC 数据包相对均匀地分布在所有内核上。

与只创建一个 Linux 进程然后创建仍然等于 CPU 数量和每个线程中的每个线程事件队列的线程数组相比,它是否会带来更好的可扩展性(更少的内核数据共享 = 更少的锁)?

这是 Nginx 扩展到大约 32 个 CPU 的示例。禁用 HT 和 36 个真实内核的总数可能是造成这种情况的主要原因,以及由于过热导致相对 NIC 饱和甚至内核 GHz 下降:

https://www.nginx.com/blog/testing-the-performance-of-nginx-and-nginx-plus-web-servers/

另外:https : //dzone.com/articles/inside-nginx-how-we-designed

linux network-programming scalability nginx linux-kernel

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

什么是gspread import_csv file_id参数?

我正在尝试使用gspread Python包从命令行将CSV数据导入Google表格.

使用本指南,我完成了所有工作,并且能够读取和写入单元格.

但是,逐个更新单元格太慢,所以我现在尝试使用该import_csv()方法. 文档说:

import_csv(file_id,data)将数据导入电子表格的第一页.

参数:data - CSV数据字符串.

file_id这里没有描述,我无法弄清楚应该是什么.一些其他方法也使用a file_id和它们被描述为:

file_id - 电子表格ID(也称为文件ID).

我不确定我在哪里找到电子表格ID,无论我尝试什么,我都会收到权限错误.由于我能够使用update_cell(),如上所述,我认为我的权限工作正常,但我使用错了file_id.

这是简化的代码:

import gspread
from oauth2client.service_account import ServiceAccountCredentials

scope = ['https://spreadsheets.google.com/feeds']
creds = ServiceAccountCredentials.from_json_keyfile_name('client_secret.json', scope)
client = gspread.authorize(creds)
sheet = client.open("SheetTitle").sheet1

# This works fine, so I think permissions etc are all set up correctly
sheet.update_cell(1, 1, 'Foo')

# Now try importing CSV data from a string
csv="""2016, 2017
1,2
3,4
"""

# Does …
Run Code Online (Sandbox Code Playgroud)

python google-sheets gspread

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

Laravel在开发与生产中“通用”

我正在使用Laravel 5.2应用程序。在开发和暂存环境中,我想使用docs中描述的“通用到”邮件配置选项。开发环境的通用性可确保所有电子邮件都发送至该地址,而不发送给真实的客户/客户/任何人。

我无法弄清楚如何在生产中以不同的方式指定此名称。在生产中应该没有通用的-电子邮件应该发送到真实地址。

使用不同env()值的标准方法似乎不起作用。例如:

config / mail.php

'to' => [
    'address'   => env('UNIVERSAL_TO', false)
],
Run Code Online (Sandbox Code Playgroud)

开发.env

UNIVERSAL_TO=my-testing-address@somewhere.com
Run Code Online (Sandbox Code Playgroud)

这可以正常工作-所有电子邮件都UNIVERSAL_TO按预期发送到指定的电子邮件。但是,如果我将其更改为生产中的需求,例如:

生产.env

UNIVERSAL_TO=
Run Code Online (Sandbox Code Playgroud)

(或='',或=false,或者只是完全省略了此内容),则发送任何邮件均失败,并带有(在中storage/laravel.log):

local.ERROR:消息为“给定[]的邮箱中的地址不符合RFC 2822,3.6.2”的异常'Swift_RfcComplianceException'。在路径/到/供应商/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php:348中

config/mail.php 只是返回一个数组,所以我想我可以改为将其设置为变量,然后根据环境将“ to”附加到它,如下所示:

$return = [ ... normal mail config array ... ];

if (!\App::environment('production')) {
    $return['to'] => [
        'address' => 'my-testing-address@somewhere.com'
    ];
}

return $return;
Run Code Online (Sandbox Code Playgroud)

但这似乎有点...骇人听闻。有没有更好的办法?

php email laravel laravel-5.2

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

Axios,Laravel和VueJS中的删除方法

我正在尝试通过axios向laravel发送删除请求,如下所示:

axios.delete('api/users/' + this.checkedNames)
.then((response) => {
    console.log(response)
}, (error) => {
    // error callback
})
Run Code Online (Sandbox Code Playgroud)

现在从axios文档中我读到,对于删除请求,我们应该使用configObject,以便可以将上述内容重写为:

axios.delete('api/users/', {params: {ids:     
    this.checkedNames})
.then((response) => {
    console.log(response)
}, (error) => {
    // error callback
})
Run Code Online (Sandbox Code Playgroud)

然后我Route::resource('users', 'UsersController');在api.php中,因此删除的默认路由为:

DELETE| api/users/{user}| users.destroy 
Run Code Online (Sandbox Code Playgroud)

控制器的方法是:

|App\Http\Controllers\UsersController@destroy
Run Code Online (Sandbox Code Playgroud)

当我传递单个ID(例如api / users / 12)时,我能够按预期删除用户,它可以正确删除,但是当我尝试传递上述数组时,事情就变得复杂了。

如果我按照axios文档进行尝试,axios.delete('api/users/', {params: {id: this.checkedNames}})它似乎是在发送此消息,http://lorillacrud.dev/api/users?id[]=21&id[]=20但我得到的是405方法不允许。

如果我尝试axios.delete('api/users/' + this.checkedNames ),我得到http://lorillacrud.dev/api/users/20,21我的破坏方法,我可以抢IDS和删除等等,但我想知道这是否是做了正确的方法是什么?

更新

我似乎使它工作了,但是我不明白,因此仍然感谢任何帮助以使我了解我实际上正在做什么!

因此,如果更改为:

axios.delete('api/users/destroy', {params: {'id': this.checkedNames})
Run Code Online (Sandbox Code Playgroud)

在我的销毁方法中:

    if ($request->id) {
        foreach ($request->id as $id) {
            User::destroy($id); …
Run Code Online (Sandbox Code Playgroud)

api laravel axios

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

在Laravel Dusk中记录Javascript控制台输出

我正在使用Laravel 5.6和Laravel Dusk 3.0.9。

黄昏非常方便,但是当在具有某些Javascript功能的页面上测试失败时,很难找出问题所在。Dusk会生成一个屏幕截图,这很有帮助,但是我真正需要的是查看Javascript控制台的输出。

显然,这是可能的-Dusk tests/Browser/console在安装过程中会创建一个目录,并且此PR建议JS控制台输出已记录,或者至少是可记录的

尽管没有文档(我可以找到)有关如何实际执行操作。 浏览该PR中的差异时,我看到了一个新方法logConsole()(后来storeConsoleLog()在注释中重命名为@Jonas指出),但是我似乎无法使其执行任何操作,例如:

$browser->visit('/somewhere')
        ->select('#foo', '2')
        ->value('#date', '2018-07-29')
        ->storeConsoleLog('bar')
        ->assertEnabled('button[type=submit]');
Run Code Online (Sandbox Code Playgroud)

该测试失败,并生成了一个漂亮的屏幕截图,但是没有任何日志文件的迹象。我尝试过移动->storeConsoleLog('bar')链条中的位置,例如第一个或最后一个,并在链条之前或之后作为单独的一行:

$browser->visit('/somewhere')
->...full chain here;
$browser->storeConsoleLog('bar');
Run Code Online (Sandbox Code Playgroud)

但是它们都没有任何区别。我的JS有一系列,console.log()当在浏览器中测试自己时会用到这些,它们会确切告诉我出了什么问题。我期望此功能记录这些消息。

我是否误解了公关,这有可能吗?如果是这样,怎么办?

更新

通过调试中的storeConsoleLog()方法,vendor/laravel/dusk/src/Browser.php我可以看到该方法已正确调用,但是没有控制台内容可记录。如果我手动重复测试在Chrome中执行的步骤,则会有行写入Chrome devtools控制台,实际上3是在页面加载时写入的。为什么黄昏看不到那些?

更新2

我发现,如果'--headless'从中的driver()方法中删除DuskTestCase,则在测试期间将显示浏览器。然后,您可以显示该浏览器的开发工具,并在测试运行时实时观看控制台输出。太快了,无法真正发挥作用,如果出现错误,浏览器将关闭,并且无论如何您都会丢失控制台上的所有内容(除非有办法让浏览器在发生故障时保持打开状态?),但请在此处添加此内容,以防万一。对某人有用!

laravel laravel-dusk laravel-5.6

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

返回redirect()没有将我带到所需的方法

我正在CodeIgniter 3中建立博客。我想在用户通过身份验证但redirect()无法正常工作时从一个控制器重定向到另一个控制器。

我已经尝试了Stack Overflow中给出的所有解决方案,但是没有人适合我。检查我的代码,并告诉我问题出在哪里。提前致谢。

MY_Controller是我从扩展的核心控制器CI_Controller

Login_c.php

class Login_c extends MY_controller {

    public function index() {
        $this->load->helper('form');
        $this->load->view('public/admin_login_v');
    }

    public function admin_login() {
        $this->load->library('form_validation');
        $this->form_validation->set_rules('username', 'User name', 'required|trim|alpha');
        $this->form_validation->set_rules('password', 'Password' , 'required');

        if($this->form_validation->run()) {
            $username = $this->input->post('username');
            $password = $this->input->post('password');
            $this->load->model('login_model');
            $login_id = $this->login_model->login_valid($username,$password);

            if( $login_id ){
                $this->session->set_userdata('user_id', $login_id);
                return redirect('admin_c/dashboard');

            } else {
                echo "user not authenticated";
            }
        } else {
            $this->load->view('public/admin_login_v');
            // echo validation_errors();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

admin_c.php

<?php
// ob_start();

class Admin_c extends …
Run Code Online (Sandbox Code Playgroud)

php codeigniter-3

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

在 Javascript 中计算两个纪元时间戳之间的秒数差异

我正在尝试使用 Javascript 计算两个 EPOCH 时间戳之间的差异(以秒为单位)。

我有两个时间戳:

START: 1565628094441
END: 1565714527812
Run Code Online (Sandbox Code Playgroud)

两个时间戳都是使用以下方法获得的:

var time = new Date().getTime().toString();
Run Code Online (Sandbox Code Playgroud)

我想确定两个时间戳之间的差异(以秒为单位)。我知道 Javascript 以毫秒为单位返回纪元,但我仍然无法找到一种方法将它们正确地转换为秒。

这是我尝试过的:

var differenceSec = (END- START)/1000;
// This gives us 86433.371 Seconds (~1440 minutes). 
Run Code Online (Sandbox Code Playgroud)

使用 Epoch Converter(https://www.epochconverter.com/#tools)我知道真正的差异应该在 30 秒左右。我在这里做错了什么?

javascript time date epoch difference

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