小编fen*_*yer的帖子

Javascript排序自定义比较器函数 - 对排序数组进行排序

我有一个以下形式的对象数组:

arr[0] = { 'item1' : 1234, 'item2' : 'a string' };
Run Code Online (Sandbox Code Playgroud)

我先把'item1'它排序,直截了当.现在我想再次排序arr(按排序'item1'),但这次'item2'只是对于'item1'相同的元素.最终的数组看起来像:

arr = [
  { 'item1' : 1234, 'item2' : 'apple' },
  { 'item1' : 1234, 'item2' : 'banana' },
  { 'item1' : 1234, 'item2' : 'custard' },
  { 'item1' : 2156, 'item2' : 'melon' },
  { 'item1' : 4345, 'item2' : 'asparagus' } 
];
Run Code Online (Sandbox Code Playgroud)

我试着为第二种情况写一个排序函数,如下所示:

arr.sort(function(a,b){
  if(a.item1 === b.item1){
    return a.item2 > b.item2 ? 1 : a.item2 …
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting

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

Symfony(PHP框架)和MongoDB(或任何基于json的数据库)

我想知道是否可以在symfony项目中使用基于json的无模式,基于文档的数据库,如Mongodb或Couchdb,就像它用于ruby-on-rails网站一样?如果是的话,怎么办呢?

php json symfony1 mongodb

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

使用jquery delegate/live函数停止传播不起作用

继承人问题html:

<ul id="update-list">
<li class="update" onclick="window.location('some_url')">
  <h2> some header </h2>
  <p> some paragraph </p>
  <div>
    <a class="popup-link">
      <span> Show Popup </span>
      <span> + </span>
    </a>
  </div>
</li> 
// this repeats n times
//...
</ul>
Run Code Online (Sandbox Code Playgroud)

当我点击.popup-link链接时,它应该只打开灯箱弹出窗口(它确实如此),但是内联onclick li也会触发.问题是li标签都是某些部分的一部分,它是通过不同页面上的ajax获取的.所以我使用jquery delegate来绑定事件,如下所示:

$('#update-list').delegate('.popup-link', 'click', function(e){
    // e.target is <span> while e.currentTarget is .popup-link 
    e.stopPropagation();
    //console.log(e.isPropagationStopped());  this shows 'true' in console
    $.popup();   // launch popup
    e.preventDefault(); // or return false
});
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用,内联onclick无论如何都会触发.我也试过live()但没有成功.这里有什么我想念的吗?

javascript jquery delegation javascript-events

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

无法使用document.cookie在UIWebview浏览器中读取cookie

我有一个iOS应用程序,我在webview中加载html内容.html是登录页面,其中用户凭证通过ajax发送到服务器,并且接收到认证成功/失败响应.现在,响应包含一个cookie(在Set-Cookie标题字段中),我可以在Objective-C端捕获,就像这样,

NSDictionary* headers = [(NSHTTPURLResponse *)response allHeaderFields]; 
NSString *strCookies = [headers valueForKey:@"Set-Cookie"]; 
NSLog(@"cookies -> %@", strCookies);
Run Code Online (Sandbox Code Playgroud)

同样的响应还包含responseText我在浏览器中使用的响应:

Ajax("/login", "POST", { onsuccess : function(response){ 
       /* Do HTML stuff with response */ }  
});
Run Code Online (Sandbox Code Playgroud)

现在我需要cookie来进一步的ajax请求(在登录页面之后).但是,cookie未在webview浏览器中设置.寻找document.cookie返回一个空字符串.我可以使用打印所有响应头xhr.getAllResponseHeaders()但我无法访问Set-Cookiexhr对象中的字段.

如何在webview中设置cookie?或者我别无选择,只能通过Obj-C发出所有ajax请求?

javascript cookies ajax uiwebview ios

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

Docker撰写端口问题.无法在localhost上启动docker项目

我在Mac(El Capitan,稳定版10.11.6)上安装了Docker Desktop for Mac稳定版.

我在官方节点图像上运行一个简单的JavaScript应用程序.这是Dockerfile看起来像:

FROM node

WORKDIR /usr/local/src
Run Code Online (Sandbox Code Playgroud)

这是docker-compose.yml:

version: '2'

services:
  web:
    container_name: myproject_dev
    build: .
    command: npm run development
    ports:
     - "1234:8000"
     - "1235:8080"
     - "80:80"
    volumes:
      - ./my-project:/usr/local/src
Run Code Online (Sandbox Code Playgroud)

跑步docker-compose up正常开始:

myproject_dev | http://localhost:8080/webpack-dev-server/
myproject_dev | webpack result is served from /assets/
myproject_dev | content is served from /usr/local/src
Run Code Online (Sandbox Code Playgroud)

docker ps显示端口已映射:

CONTAINER ID        IMAGE                        COMMAND                 CREATED             STATUS              PORTS                                                                NAMES
820694f618b4        myproject_web   "npm run development" …
Run Code Online (Sandbox Code Playgroud)

dockerfile docker-compose docker-for-mac docker-desktop

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