小编ela*_*hen的帖子

Jinja2用白色空格分割字符串

我正在使用Jinja2模板引擎(+鹈鹕).

我有一个字符串说"1",我正在寻找一种方法,通过使用空格作为分隔符将该字符串拆分为两个.

所以我正在寻找的最终结果是一个变量,它以数组的形式保存这两个值.例如,str [0]评估为"a",str [1]评估为"1".

提前致谢.

string split jinja2

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

Bootstrap水平下拉

看看这张图:

例如http://i42.tinypic.com/wvbf3a.png

我希望下拉菜单项从左到右(水平)堆叠.我似乎无法让这个工作,尝试使用官方文档中提到的"list-inline"类,只会让事情变得更糟.

这是HTML:

<nav class="navbar navbar-default navbar-static-top" role="navigation">
    <ul class="nav navbar-nav">
        <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">List Item</a>
            <ul class="dropdown-menu">
                <li><a href="#" id="">1</a></li>
                <li><a href="#" id="">2</a></li>
                <li><a href="#" id="">1</a></li>
                <li><a href="#" id="">2</a></li>
                <li><a href="#" id="">3</a></li>
                <li><a href="#" id="">4</a></li>
                <li><a href="#" id="">5</a></li>
                <li><a href="#" id="">6</a></li>
            </ul>
        </li>
    </ul>
</nav>  
Run Code Online (Sandbox Code Playgroud)

我正在使用Bootstrap 3

html css twitter-bootstrap

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

RESTful API 仇恨

我得出的结论是,构建一个真正的 RESTful API(使用 HATEOAS)几乎是不可能的。

我遇到的所有内容要么未能说明 HATEOAS 的真正威力,要么根本没有明确提及 HATEOAS 动态特性的固有痛点。

我相信 HATEOAS 的意义在于:

根据我的理解,真正的 HATEOAS API 应该拥有与 API 交互所需的所有信息,虽然这是可能的,但使用起来却是一场噩梦,尤其是在使用不同的堆栈时。

例如,考虑位于“/books”的资源集合:

{
  "items": [
    {
        "self": "/book/sdgr345",
        "id": "sdgr345",
        "name": "Building a RESTful API - The unspoken truth",
        "author": "Elad Chen ;)",
        "published": 1607606637049000
    }
  ],

  // This describes every field needed to create a new book
  // just like HyperText Markup Language (i.e. HTML) rendered on the server does with forms
  "create-form": {
    "href": "/books",
    "method": "POST",
    "rel": ["create-form"],
    "accept": ["application/x-www-form-urlencoded"], …
Run Code Online (Sandbox Code Playgroud)

api rest hateoas

10
推荐指数
2
解决办法
2838
查看次数

使用服务器发送事件和 EventSource 的 GraphQL 订阅

我正在考虑使用服务器发送的事件作为支持 api 来实现“订阅”类型。

我正在努力的是接口,更准确地说,是这种操作的 http 层。

问题:

使用本机EventSource不支持:

  1. 指定 HTTP 方法,默认使用“GET”。
  2. 包括有效负载(GraphQL 查询)

虽然#1 是无可辩驳的,但#2 可以使用查询参数来规避。

查询参数有大约 2000 个字符的限制(可以争论),这使得仅仅依赖它们感觉太脆弱了。

我正在考虑的解决方案是为每个可能的事件创建一个专用端点。

例如:代表各方之间已完成交易的事件的 URI:

/graphql/transaction-status/$ID

将转换为服务器中的此查询:

subscription TransactionStatusSubscription {
    status(id: $ID) {
        ready
    }
}
Run Code Online (Sandbox Code Playgroud)

这种方法的问题是:

  1. 将添加为每个 URI-to-GraphQL 转换创建处理程序。
  2. 部署新版本的服务器
  3. 失去 GraphQL 提供的灵活性 -> 客户端应该控制查询
  4. 跟踪代码库中的所有端点(后端、前端、移动)

可能还有更多我遗漏的问题。

也许你能想到更好的方法?一个可以使用 EventSource 提供请求有效负载的更好方法吗?

server-sent-events graphql eventsource

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

PHP:检查键值不为空

我编写了一个小函数来检查表单的必填字段是否为空。该函数接受两个参数,第一个是一个数组,其中包含 $_POST 超全局的所有值。第二个是我填充的必填字段数组。

看一看:

public $errors = array();

public function validate_fields($fields_array, $required_fields) 
{
    foreach ($required_fields as $key => $value)
    {
        if (array_key_exists($key, $fields_array)) 
        {
            # If key exists in $fields_array
            # check that the key value inside $fields_array is set & isn't empty
            # if it's empty, populate with an error
            if(empty($fields_array[$key][$value]))
            {
                $this->errors[] = "{$key} is empty but in fields_array";
            }
        }
        else 
        {
            # Key does not exists in $fields_array
            # Did someone temper with my html ? …
Run Code Online (Sandbox Code Playgroud)

php arrays key-value

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

cUrl - 获取html响应正文

我相信这很简单.我正在使用下面的函数来检索站点原始html以解析它.在我的测试中,我决定在stackoverflow.com上运行我的代码

Chrome没有获取html响应,而是打印出实际网站,而不是将html分配给它真实的.我错过了什么?

function get_site_html($site_url) 
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_COOKIESESSION, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 4);
    curl_setopt($ch, CURLOPT_FORBID_REUSE, true);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    curl_setopt($ch, CURLOPT_URL, $site_url);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $response = curl_exec($ch);

    global $base_url; 
    $base_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
    $http_response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    curl_close ($ch);
    return $response;
}
Run Code Online (Sandbox Code Playgroud)

应将站点原始html分配给$ response,然后将其返回.

php curl

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

获取被点击的 li 元素的值

首先,我向 ul 添加了一个 EventListener,如下所示:

action_list_ul.addEventListener("click", set_ua_value, false);
Run Code Online (Sandbox Code Playgroud)

set_ua_value 作业是为了:

• 监听对 ul 子元素(li 元素)的每次点击 • 获取被点击的 li 内的 a 标签的值(innerHTML?)

<ul id="action-list">
<li><a href="#">foo</a></li>
<li><a href="#">bar</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

如果 foo 被点击,我需要检索“foo”字符串。

由于我对 javascript 还很陌生,我不确定如何获得点击的 li 的实际“这个”。

我不想使用 jQuery。谢谢 :)

javascript event-listener

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

Jquery偏移量返回错误的值

我有一个折叠的侧边栏(使用引导程序),我正在尝试确保折叠的元素在可见时滚动到.

为了做到这一点,我使用jQuery的offset(),第一次点击返回0并在第二次点击时返回正确的偏移量.

这是我的代码:

    $.each($('[data-toggle="collapse"]'), function() {
        $(this).on("click", function() { 
            if ($(this).is('A')) { 
                event.preventDefault(); $(this).toggleClass("active");
                var x = $(this).attr("href");
                console.log($(x).offset().top)

            }
        })
    })
Run Code Online (Sandbox Code Playgroud)

jquery offset

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

变量在for循环中变为undefined

我正在与我正在努力的javascript函数作斗争.

在for循环中,我正在迭代所有带有"可见"类的元素,在该循环中我正在执行两个动作.

  1. 元素[I] .removeAttribute( "类");
  2. elements [i] .setAttribute("class","hidden");

出于某种原因,只有1是有效的.2产生错误说:

Uncaught TypeError: Cannot call method 'setAttribute' of undefined
Run Code Online (Sandbox Code Playgroud)

即使我使用console.log记录元素[i]; 在第一个console.log调用后,该元素存在,但在第二个console.log元素[i]是'undefined'

我到底在这里错过了什么,这让我发疯,如果我的笔记本电脑不那么昂贵,那么它现在就会被打破.救命 :(

这是功能:

function hide_visable_elements()
{
    // remove body EventListener
    var body = document.getElementsByTagName("body");
    body[0].removeEventListener("click", hide_visable_elements, true);

    var elements = document.getElementsByClassName("visible");

    for (var i = 0; i < elements.length; i++)
    {
        console.log(elements[i]); // Works like a swiss clock

        elements[i].removeAttribute("class"); 

        console.log(elements[i]); // why elements[i] is 'undefined' now ???

        elements[i].setAttribute("class", "hidden"); // << turns to useless code
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript scope var undefined

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

获取此子值的jQuery

我的问题很简单.

下面的代码正确记录"this",并打印出所需的子元素:

console.log( $(this).children()[0] );
Run Code Online (Sandbox Code Playgroud)

打印:

<span>test result</span>
Run Code Online (Sandbox Code Playgroud)

尝试检索其值会引发异常.我正在使用:

$((this).children()[0]).val()
Run Code Online (Sandbox Code Playgroud)

哪个投掷:

Property 'children' of object [object HTMLAnchorElement] is not a function
Run Code Online (Sandbox Code Playgroud)

我的语法有什么问题?

HTML:

<li>
<a href="#">
<span>example 1</span>
<span>example 1 sibling</span>
</a>
</li>

<li>
<a href="#">
<span>example</span> 
<span>example 2 sibling</span>
</a>
</li>

<li>
<a href="#">
<span>example</span> 
<span>example 3 sibling</span>
</a>
</li>

<li>
<a href="#">
<span>example</span>
<span>example 4 sibling</span></a>
</li> 
Run Code Online (Sandbox Code Playgroud)

jquery children

0
推荐指数
1
解决办法
6904
查看次数