小编Sin*_*mok的帖子

jQuery向父级添加元素

我在查找如何在click事件上向父对象添加元素时遇到了一些麻烦.

我希望实现的结果是:

<ul>
        <li><button>B1</button>
            <ul class="newul">
                <li><button>B1.1</button>
                    <ul class="newul">
                        <li><button>1.1.1</button></li>
                        <li><button>1.1.2</button></li>
                    </ul>
                </li>
                <li><button>B1.1</button></li>
            </ul>
        </li>
        <li><button>B2</button></li>
        <li><button>B3</button></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

假设我点击按钮B2.我希望将新的UL添加到该按钮的父LI,然后能够将新的LI元素添加到新创建的UL中.我希望这是有道理的!

基本上,单击按钮,将新的UL与类"newul"添加到您当前所在的LI中 - >将新LI添加到新创建的UL中.

我目前使用的jquery如下:

$('button').click(function(){
    //Get parent..
        var parent = $(this).parent();
        //Add a new UL to the parent and save it as newul           
        var newul = parent.add("ul");
                    //Add the class to the new UL
        newul.addClass('newul');               
        //Add a new li to the new UL            
            newli = newul.add('li');
            //Add a button to the new LI
            newli.append('<button></button>');

});
Run Code Online (Sandbox Code Playgroud)

不幸的是,这产生了完全不受欢迎的影响,并且到处都是按钮.我很感激您提供的任何帮助.

这是我所追求的一个可见的例子.顶部是效果id喜欢实现.

期望结果的示例

html javascript jquery

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

Mailgun使用RestSharp发送附件

我正在使用RestSharp尝试使用Mailgun API发送附件.我尝试使用硬编码路径从系统中的文件附加,也使用(SQL Server)属性ToArray()上的方法从存储在数据库中的二进制文件附加,但varbinary(MAX)都没有成功.

附件在技术上发送,但当电子邮件到达我的收件箱时,文件大小总是大约302字节,并且总是损坏.我尝试了3个不同的文件,每次都遇到同样的问题.

电子邮件的其余部分发送,传递和显示正常.这只是被打破的附件.

代码细分:

// Doesnt work(Data property is varbinary(MAX)
request.AddFileBytes("attachment",databaseModel.Data.ToArray(),databaseModel.Filename, "multipart/form-data");

// Also doesnt work(Data property is varbinary(MAX)
request.AddFile("attachment",databaseModel.Data.ToArray(),databaseModel.Filename, "multipart/form-data");

// Also doesnt work        
var path = @"D:\Template.pdf";
request.AddFile("attachment",path,"multipart/form-data");
Run Code Online (Sandbox Code Playgroud)

c# attachment email-attachments restsharp mailgun

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

Laravel 7 单元测试到注册路由重定向到主页

我正在使用提供的几乎完全开箱即用的注册流程Laravel 7

当我尝试通过网络浏览器中的表单提交无效的注册表单时,我会返回到注册页面,其中包含错误列表,这正是我期望发生的情况。

但是,我正在尝试为此功能编写一个单元测试,但由于某种原因,当我在单元测试中发出相同的请求时,我得到了重定向到 root page 的响应/

为什么我的单元测试没有返回与通过浏览器发出相同请求时相同的 HTML 响应?我怀疑这可能是由于请求中缺少发送的 CSRF 令牌,但根据文档,CSRF 中间件应该在单元测试期间被禁用。

运行测试时,CSRF 中间件会自动禁用。

这是我的单元测试代码:

public function testPostInvalidRegistration(){

    $response = $this->post("/register",[
        'first_name' => $this->faker->name
    ]);
    
    $response->dumpSession();
    $response->dump();
    $response->dumpHeaders();

}
Run Code Online (Sandbox Code Playgroud)

这是输出$response->dump()

public function testPostInvalidRegistration(){

    $response = $this->post("/register",[
        'first_name' => $this->faker->name
    ]);
    
    $response->dumpSession();
    $response->dump();
    $response->dumpHeaders();

}
Run Code Online (Sandbox Code Playgroud)

$response->dumpSession()可以看到验证器已运行并列出了错误。

php phpunit unit-testing laravel-7

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

迭代PHP数组以使用PHP foreach创建Javascript数组

在PHP数组的迭代过程中产生一个Javascript数组时,我遇到了一个烦人的','.基本上,我所拥有的是:

<?php
  $array = array(StdObject,StdObject,StdObject);
?>

//later that page...in JavaScript

var list = [
<?php foreach($array as $value):?>
  '<?=$value->some_letter_field?>',
<?endforeach;?>
];
Run Code Online (Sandbox Code Playgroud)

不幸的是,这段代码的作用是产生如下所示的输出:

var list = ['a','b','c',];
Run Code Online (Sandbox Code Playgroud)

请注意JavaScript数组中的额外逗号?这导致了一些问题.我将如何重新编写此PHP代码段以便不打印额外的逗号,从而生成格式正确的JavaScript数组?

预期产量应为:

var list = ['a','b','c'];
Run Code Online (Sandbox Code Playgroud)

我提前感谢您的帮助.

javascript php arrays iteration

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