小编Sam*_*ker的帖子

将数组附加到FormData并通过AJAX发送

我正在使用ajax提交包含数组,文本字段和文件的多部分表单.

我将每个VAR附加到主数据上

var attachments = document.getElementById('files'); 
var data= new FormData();

for (i=0; i< attachments.files.length; i++){
    data.append('file', attachments.files[i]);
    console.log(attachments.files[i]);

    data.append ('headline', headline);
    data.append ('article', article);
    data.append ('arr', arr);
    data.append ('tag', tag);
Run Code Online (Sandbox Code Playgroud)

然后我使用ajax函数将其发送到PHP文件以存储在sql DB中.

$.ajax({    
    type: "post",
    url: 'php/submittionform.php',
    cache: false,
    processData: false,
    contentType: false,
    data: data,
    success: function(request) {$('#box').html(request); }
})
Run Code Online (Sandbox Code Playgroud)

但在PHP方面,arr变量(即数组)显示为字符串.

当我不使用ajax作为表单数据发送它但使用简单$.POST选项时我会在PHP端将其作为数组获取,但是我也无法发送文件.

任何解决方案

javascript arrays ajax form-data

90
推荐指数
7
解决办法
14万
查看次数

Laravel使用相同的表单进行创建和编辑

对Laravel来说还是一个新手,我必须创建一个用于创建的表单和一个用于编辑的表单.在我的形式中,我有一些jquery ajax帖子.我想知道Laravel是否确实提供了一种简单的方法让我使用相同的表单进行编辑和创建,而无需在我的代码中添加大量逻辑.每次在表单加载时为字段赋值时,我都不想检查是否处于编辑或创建模式.关于如何以最少的编码实现这一目标的任何想法?

php forms laravel

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

如何通过composer autoload加载特征

我已经尝试将我的traits文件夹添加到composer自定义自动加载,但这不起作用并返回错误.那么这可能是通过作曲家自动加载的特征吗?非常感谢任何答案.

我的特点:

trait User
{
  public function is_email_unique($email)
  {
    return $this->User->get_one_by_email($email) ? FALSE : TRUE;
  }  

  public function is_username_unique($username)
  {
    return $this->User->get_one_by_username($username) ? FALSE : TRUE;
  }
}
Run Code Online (Sandbox Code Playgroud)

我的课:

class Auth extends MY_Controller 
{
      // Implement trait in class
  use User;

  public function __contstruct()
  {
    parent::__contstruct();
  }

  public function register()
  {
    if ($this->input->is_post()) {

        // load validation library
        $this->load->library('form_validation');

        //set validation rules
        $this->form_validation->set_rules('username', "Username", 'required|callback_username_check');

        // There I use my trait method callback_is_email_unique
        $this->form_validation->set_rules('email', "Email", 'required|valid_email|callback_is_email_unique');
        $this->form_validation->set_rules('password', "Password", 'required|matches[confirm_password]|min_length[6]');
        $this->form_validation->set_rules('confirm_password', …
Run Code Online (Sandbox Code Playgroud)

php traits autoload composer-php

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

为Laravel表单字段定义默认值

要预先填充表单字段,我们可以在create.blade.php中为表单字段添加"value":

{{ Form::text('title', 'Some default title') }}
Run Code Online (Sandbox Code Playgroud)

有没有办法在其他地方完成这项任务(可能在模型或控制器?).我想在创建和编辑视图中使用相同的表单字段代码.谢谢!

php default-value laravel

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

使用逗号作为小数分隔符验证数字的最佳方法是什么?

在Laravel应用程序中,我有一个表单,我需要用逗号作为小数分隔符来验证数字.目前,它只适用于一点,因为我的验证规则是:

$rules = [
    'amount' => 'numeric|min:0',
];
Run Code Online (Sandbox Code Playgroud)

什么是最好的方法:

  • 在验证之前保留规则并用点替换逗号?是否有一个before_validation观察者或类似的东西?
  • 构建自定义验证规则?例如french_numeric?

php validation laravel

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

在 Laravel 中对闭包进行单元测试

下面代码中的闭包使得该代码非常难以测试。我怎样才能继续急切地加载这些项目并保持完整的可测试性?

public function scopeWithCompanyPreferences(Builder $builder)
{
    return $builder->with([
            'companies' => function ($query) {
                $query->with('companies');
                $query->with('preference_settings');
                $query->with('parent_company');
            }
        ]);
}
Run Code Online (Sandbox Code Playgroud)

我见过使用 Mockery 来使用Mockery::on(),但我认为这对于数组来说没有用。

php unit-testing laravel mockery

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

如何使用Vue.js动画化列表排序

我正在尝试使用Vue.js动画化列表的排序,但并非所有项目都具有动画效果。你知道为什么吗?以及如何使其工作?

new Vue({
  el: '#app',
  data: {
    reverse: 1,
    items: [
      { name: 'Foo' },
      { name: 'Bar' },
      { name: 'Baz' },
      { name: 'Qux' }
    ]
  }
})
Run Code Online (Sandbox Code Playgroud)
.moving-item {
  transition: all 1s ease;
  -webkit-transition: all 1s ease;
}
ul {
  list-style-type: none;
  padding: 0;
  position: relative;
}
li {
  position: absolute;
  border: 1px solid #42b983;
  height: 20px;
  width: 150px;
  padding: 5px;
  margin-bottom: 5px;
  color: #42b983;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.0-alpha.2/vue.min.js"></script>
<div id="app">
  <button on-click="reverse = Math.abs(reverse-1)">
    <span v-if="reverse == …
Run Code Online (Sandbox Code Playgroud)

javascript css vue.js

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