小编Joe*_*ito的帖子

邮递员如何发送请求?ajax,同源政策

我发现这个非常有用的chrome扩展名为postman,这是一个非常有用的扩展,特别是在编写RESTful应用程序时.

我困惑的一件事是这个插件/扩展如何能够在不同的域上成功发送POST请求?

我尝试使用像这样的Postman投票. 使用邮递员投票

在提交之后,投票实际上被计入,但是当我尝试使用ajax和javascript时,它失败了,因为浏览器的原始策略不同.

这怎么可能呢?

这是我使用jquery的代码.我在我的电脑中使用了它,localhost.

init: function() {
    $.ajax({
        url: 'http://domain.com/vote.php',
        type:'POST',
        dataType: 'html',
        data: {
            id: '1'
        },
        success: function(data) {
        if ( data == 'voted' ) {
            $('.set-result').html( 'you already voted. try again after 24 hours' );
        } else {
            $('.set-result').html( 'successfully voted' );
        }
    }
    });
},
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery postman

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

确定对象在javascript中是否具有属性和值

我想检查一个对象是否具有某个属性,并且其值等于某个值.

var test = [{name : "joey", age: 15}, {name: "hell", age: 12}]
Run Code Online (Sandbox Code Playgroud)

你去,一个对象数组,现在我想在对象内搜索,如果对象包含我想要的东西,则返回true.

我试着这样做:

Object.prototype.inObject = function(key, value) {
if (this.hasOwnProperty(key) && this[key] === value) {
  return true
};
return false;
};
Run Code Online (Sandbox Code Playgroud)

这可行,但不在数组中.我怎么做?

javascript jquery web

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

链ajax并按顺序执行.Jquery延期

我有3个需要ajax才能完成的进程.但它是异步的,它无法做我想做的事情..

让我们说:

function a(param1, param2) {
     $.post(..., function(result){
         if(result){
            b();
         } else {
            console.log("failed a");
         }
     })
}

function b() {
      $.post(..., function(result){
         if(result){
            c();
         } else {
            console.log("failed b");
         }
     })
}

function c() {
     $.post(..., function(result){
         if(result){
            console.log("successful");
         } else {
            console.log("failed b");
         }
     })
}
Run Code Online (Sandbox Code Playgroud)

我希望它像这样执行

a
b
c
Run Code Online (Sandbox Code Playgroud)

正如你所看到的那样,该代码将完美地运行..但是如果使用循环.

 var data = [{param1 : 1235, param2: 3214},  {param1 : 5432, param2: 9876}];

 $.each(data, function(k,v){
      a(v.param1, v.param2)
 });
Run Code Online (Sandbox Code Playgroud)

它不会按预期工作,只会这样做:

a
a
b
b
c
c
Run Code Online (Sandbox Code Playgroud)

代替

a …
Run Code Online (Sandbox Code Playgroud)

javascript ajax each jquery deferred

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

安装hhvm后,在apache和fastcgi上使用漂亮的URL

我需要苗条的PHP与漂亮的网址使用.htaccess,没有问题.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
Run Code Online (Sandbox Code Playgroud)

现在我使用hhvm,fastcgi使用这个虚拟主机配置运行它.

<VirtualHost *:80>
  ServerName project.dev
  ServerALias www.project.dev
  DocumentRoot /var/www/project
  ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/project/$1
  <Directory "/var/www/project">
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

当然,它不会读取.htaccess文件,我想.htaccess在虚拟主机配置中添加配置,但不,它不会工作.

像这样:

<VirtualHost *:80>
  ServerName project.dev
  ServerALias www.project.dev
  DocumentRoot /var/www/project
  ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/project/$1
  <Directory "/var/www/project">
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^ index.php [QSA,L]
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

php apache .htaccess fastcgi hhvm

14
推荐指数
1
解决办法
1440
查看次数

Windows git shell的Tput颜色定义

我正在尝试自定义我的git shell,我发现这篇非常有趣的文章,但你可以看到它用于tput设置颜色定义,我无法使它在Windows上工作,因为tput它不是Windows的原生,是否有任何替代品做

BLACK=$(tput setaf 0)
RED=$(tput setaf 1)
GREEN=$(tput setaf 2)
YELLOW=$(tput setaf 3)
LIME_YELLOW=$(tput setaf 190)
POWDER_BLUE=$(tput setaf 153)
BLUE=$(tput setaf 4)
MAGENTA=$(tput setaf 5)
CYAN=$(tput setaf 6)
WHITE=$(tput setaf 7)
BRIGHT=$(tput bold)
NORMAL=$(tput sgr0)
BLINK=$(tput blink)
REVERSE=$(tput smso)
UNDERLINE=$(tput smul)
Run Code Online (Sandbox Code Playgroud)

git shell workflow

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

初始化视图,模板和控制器以及模型是可选的

当我问这个问题时,我太困了,对不起,无论如何,为了清楚起见,我准备了2个小时的问题.

我正在尝试组织我的代码并决定组织它mvc'ish(mvc-like),我不知道我是否可以遵循所有原则,但我想至少接近这一点.

我的应用程序有一个前端控制器(dunno,如果我的定义是正确的),所以我的应用程序的所有http请求将通过一个点,在我的情况下,index.php在我的应用程序的根目录中.

说过我已经设置好了,你可以想象我曾经.htaccess把所有的请求都指向了index.php.

我爆炸了,url并创建了一个阵列,$url[]就像这样.因此,每当我像这样访问我的应用程序时,http://localhost/app/pagename它将访问控制器(pagename_controller)

我是这样做的:

$file = $controller_path . $page . '_controller.php';

if (file_exists($file)) {
    require $file;
    $class_name = ucfirst($page) . '_controller';
    $target = new $class_name();
}
Run Code Online (Sandbox Code Playgroud)

我也将它包装在一个容器中,即"装饰器模式",供将来使用,验证可能.像这样 :

$controller = new Wrap($target);
$controller->index();
Run Code Online (Sandbox Code Playgroud)

我不知道$controller变量名的使用是否合适所以请原谅我什么时候都错了.

我觉得我可以这样设置我的应用程序:

  1. 用户发送请求,怎么样?通过使用应用程序意味着他/她发出一个http请求,它将加载应用程序的初始状态

    信用:phparchitect设计模式

正如您在我所需的应用程序结构图中所看到的,我只能将第一部分用于将请求定向到单个条目(index.php)

现在问题是应用程序其他部分的初始化.

截至目前,我有3个文件要设置,但我对如何感到困惑.

index_controller,index_view,Template

class Index_controller {
    private $model;
    private $view;

    public function __construct(){
        // optional model -> $this->model = …
Run Code Online (Sandbox Code Playgroud)

php model-view-controller controller initialization view

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

在ui中执行某些操作之前,AngularJS范围不会更新,例如单击具有函数的对象

当视口小于或等于641px时,我试图将类添加到我的侧边栏,我必须观察该窗口的宽度

    $scope.$watch(function(){
       return $window.innerWidth;
    }, function(value) {
        if (value <= 641) {
            logger.info('!!!less than 641');
            vm.singleColumn = true;
        };
    });
Run Code Online (Sandbox Code Playgroud)

它会在第一次加载时登录,但是当我调整大小时,我必须在它再次触发之前进行一些点击.例如,我调整了大小,然后点击了具有ng-click行为的项目,那是唯一一次,它再次记录.

我已经阅读了一些问题,这可能是由于$ digest和$ apply?

有人可以解释我的困惑.

javascript digest angularjs angularjs-scope

6
推荐指数
2
解决办法
2411
查看次数

如何在docker容器窗口中设置SSH_AUTH_SOCK环境变量

我在 Windows 机器上复制 dockerfile 中的 ssh 密钥用于开发目的,但无法获取 SSH_AUTH_SOCK 变量集,

这是我的 Dockerfile

FROM node:alpine


WORKDIR /usr/src/app
COPY package.json .

ADD id_rsa /root/.ssh/id_rsa
RUN chmod 700 /root/.ssh/id_rsa \
  && touch /root/.ssh/known_hosts \
  && ssh-keyscan -H github.com >> /root/.ssh/known_hosts \
  && eval `ssh-agent -s` && ssh-add /root/.ssh/id_rsa

RUN yarn
CMD [ "npm", "start" ]
Run Code Online (Sandbox Code Playgroud)

我尝试在我的撰写文件中评估 ssh-agent 的结果

command: >
  sh -c 'eval `ssh-agent -s`
  && ssh-add /root/.ssh/id_rsa
  && echo $SSH_AUTH_SOCK'
Run Code Online (Sandbox Code Playgroud)

当我执行简单的 nodejs 文件时,SSH_AUTH_SOCK未设置。

printenv也没有显示出来,有没有办法做到这一点。

我可以看到有很多适用于 linux 和 osx 的 ssh-agent …

ssh-agent docker docker-compose

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

Lodash在数组中以startswith搜索

我正在创建一个简单的搜索,搜索以从输入传递的字符串开头的对象数组.

所以我有这个:

var items = [
    {id: 1, tags: ['foo']},
    {id: 2, tags: ['fish', 'ball']},
    {id: 3, tags: ['bar', 'goo']},
];

input.on(function(e) {
    var test = _.filter(items, function(item) {
         return _.includes(_.pluck(items, 'tags'), input.val());
    });
    console.log(test);
});
Run Code Online (Sandbox Code Playgroud)

这总是返回一个空数组,我想我不知道了startsWith,我如何在我的实现中使用它:

预期产量应为:

input: 'f'
output: [{id: 1, tags: ['foo']}, {id: 2, tags: ['fish', 'ball']}]
Run Code Online (Sandbox Code Playgroud)

因为这两个项目都有标签 f

javascript arrays search lodash

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

使用lodash从平面列表创建树

我正在尝试使用下面的json对象数组创建一个类别树.我希望将一个类别设置为另一个类别的子类,如果它的父级等于另一个类别的id,我希望帖子也是该类别的子级而不是为帖子设置单独的字段,我会添加一个标志字段,如果它是一个类别或不isParent.

看起来它的工作正常,但正如您所看到的,如果某个类别同时包含类别和帖子作为子项,则它仅显示类别.另一个问题是如果帖子在其数组上具有空值,它仍然会将它们作为子项推送.

我的代码中有哪些错误,或者是否有更简单或更好的解决方案?

var tree = unflatten(getData());
var pre = document.createElement('pre');
console.log(tree);
pre.innerText = JSON.stringify(tree, null, 4);

document.body.appendChild(pre);

function unflatten(array, parent, tree) {
  tree = typeof tree !== 'undefined' ? tree : [];
  parent = typeof parent !== 'undefined' ? parent : {
    id: 0
  };
  _.map(array, function(arr) {
    _.set(arr, 'isParent', true);
  });
  var children = _.filter(array, function(child) {
    return child.parent == parent.id;
  });

  if (!_.isEmpty(children)) {
    if (parent.id == 0) {
      tree = children;
    } else { …
Run Code Online (Sandbox Code Playgroud)

javascript tree lodash

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