小编Man*_*tto的帖子

file_get_contents("php:// input")或$ HTTP_RAW_POST_DATA,哪一个更好地获取JSON请求的主体?

file_get_contents("php://input")或者$HTTP_RAW_POST_DATA- 哪一个更好地获得JSON请求的主体?

在使用客户端时,我应该使用哪种请求类型(GETPOST)来发送JSON数据XmlHTTPRequest

我的问题来自这个答案: 如何使用curl将JSON发布到PHP

从那个回答引用:

从协议的角度来看file_get_contents("php://input")实际上更正确,因为你还没有真正处理http多部分表单数据.

php json xmlhttprequest

112
推荐指数
3
解决办法
23万
查看次数

使用AngularUI Bootstrap Modal在AngularJS中的范围问题

plunker:http://plnkr.co/edit/wURNg8ByPYbEuQSL4xwg

example.js:

angular.module('plunker', ['ui.bootstrap']);
  var ModalDemoCtrl = function ($scope, $modal) {

  $scope.open = function () {
    var modalInstance = $modal.open({
      templateUrl: 'modal.html',
      controller: 'ModalInstanceCtrl'
    });
  };
};

var ModalInstanceCtrl = function ($scope, $modalInstance) {

  $scope.ok = function () {
    alert($scope.text);
  };

  $scope.cancel = function () {
    $modalInstance.dismiss('cancel');
  };
};
Run Code Online (Sandbox Code Playgroud)

index.html的:

<!doctype html>
<html ng-app="plunker">
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.js"></script>
    <script src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.6.0.js"></script>
    <script src="example.js"></script>
    <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet">
  </head>
  <body>

  <div ng-controller="ModalDemoCtrl">
    <button class="btn" ng-click="open()">Open me!</button>
    <div ng-show="selected">Selection from a modal: {{ …
Run Code Online (Sandbox Code Playgroud)

angularjs angular-ui angular-ui-bootstrap

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

如何使用javascript更改文件扩展名

有谁知道在Javascript中更改文件扩展名的简单方法?

例如,我有一个带有"first.docx"的变量,但我需要将其更改为"first.html".

javascript methods programming-languages

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

如何在qUnit中测试DOM对象?

我正在用qUnit测试一些JavaScript.在一个对象中,我传递一个DOM元素,一些方法将改变元素的一些属性.

如何在qUnit中模拟DOM对象?

我想独立使用解决方案浏览器,因为我也测试了XUL应用程序.

javascript dom qunit

11
推荐指数
1
解决办法
7724
查看次数

Javascript removeChild()和appendChild()VS display = none和display = block | inline

我正在开发一个动态显示一些控件和描述的Web应用程序(我不想使用jQuery或其他库).

此时我使用以下方式显示和消失控件:

element.setAttribute("style", "display : inline");
Run Code Online (Sandbox Code Playgroud)

element.setAttribute("style", "display : none");
Run Code Online (Sandbox Code Playgroud)

但我正在考虑使用:

element.appendChild(childRef);
Run Code Online (Sandbox Code Playgroud)

element.removeChild(childRef);
Run Code Online (Sandbox Code Playgroud)

那么,就系统速度和代码的优雅而言,哪一个是最佳解决方案?或者有更好的方法来解决这个问题吗?

javascript

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

JavaScript'类'和单例问题

我有一个单例对象使用另一个对象(而不是单例),要求服务器的一些信息:

var singleton = (function(){

  /*_private properties*/
  var myRequestManager = new RequestManager(params,
    //callbacks
    function(){
        previewRender(response);
    },
    function(){
        previewError();
    }
  );

  /*_public methods*/
  return{

    /*make a request*/
    previewRequest: function(request){
       myRequestManager.require(request);  //err:myRequestManager.require is not a func
    },

    previewRender: function(response){
      //do something
    },

    previewError: function(){
      //manage error
    }
  };
}());
Run Code Online (Sandbox Code Playgroud)

这是向服务器发出请求的"类"

function RequestManager(params, success, error){
  //create an ajax manager
  this.param = params;
  this._success = success;  //callbacks
  this._error = error;
}

RequestManager.prototype = {

  require: function(text){
    //make an ajax request
  },
  otherFunc: function(){
     //do …
Run Code Online (Sandbox Code Playgroud)

javascript singleton closures

9
推荐指数
1
解决办法
390
查看次数

在Chrome的Ominbox上按下Enter键时,键盘事件监听器将触发

在Chrome浏览器中,使用此代码段时:

  $(document).on('keyup', function(){
    alert("Hey");
  });
Run Code Online (Sandbox Code Playgroud)

每当我按下enterurl栏时(例如,当我剪切并粘贴页面本身的url时),事件监听器就会触发.为什么会这样?

编辑:

它让我感到惊讶,因为url bar不在document(可能在window?)并且firefox没有这种行为.当我查找时e.target,Chrome Inspector会显示body.

我认为这可能是由事件冒泡引起的所以我试过这个:

  $(document).on('keyup', function(e){
    e.stopPropagation();
    alert("Hey");
  });
Run Code Online (Sandbox Code Playgroud)

但它不起作用.如何防止它被触发?

javascript jquery google-chrome

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

这是一个很好的javascript装饰模式吗?

我需要一些简单的对象,以后可能会变得更复杂,有许多不同的属性,所以我想到装饰模式.我这样看着Crockford的幂构造函数和对象增强:

//add property to object
Object.prototype.addProperty = function(name, func){
    for(propertyName in this){
        if(propertyName == name){
            throw new Error(propertyName + " is already defined");
        }
    }
    this[name] = func;
};

//constructor of base object
var BasicConstructor = function(param){

    var _privateVar = param;
    return{
        getPrivateVar: function(){
            return _privateVar;
        }
    };
};

//a simple decorator, adds one private attribute and one privileged method 
var simpleDecorator = function(obj, param){

    var _privateVar = param;

    var privilegedMethod1 = function(){
        return "privateVar of decorator is: " + …
Run Code Online (Sandbox Code Playgroud)

javascript decorator

8
推荐指数
1
解决办法
4395
查看次数

获取Symfony中包内的目录路径

从控制器内部我需要获取bundle中一个目录的路径.所以我有:

class MyController extends Controller{

    public function copyFileAction(){
        $request = $this->getRequest();

        $directoryPath = '???'; // /web/bundles/mybundle/myfiles
        $request->files->get('file')->move($directoryPath);

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

怎么弄错$directoryPath

symfony

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

在Mongoose和Joi之间只维护一个模式的最佳方法

我正在使用Hapi开发一个Web服务,Mongoose作为ODM,Joi作为验证器.我真的很喜欢Joi的验证以及它与HAPI连接的方式(我需要Joi的描述函数来显示一些swagger的描述)但是我不想维护两个模式,一个用于Joi,一个用于mongoose; 我想使用Joi定义我的模式,然后只能导出Mongoose所需的基本模式.例如:

mySchema.js

module.exports = {
    name : String,
    address: String
}
Run Code Online (Sandbox Code Playgroud)

myValidator.js

module.exports = {
    payload: {
        name: Joi.description('A name').string().required(),
        address: Joi.description('An address').string()
    }
}
Run Code Online (Sandbox Code Playgroud)

myModel.js

const mongoose = require('mongoose'),
    mySchema = require('./mySchema');

var schemaInstance = new mongoose.Schema(mySchema),
    myModel = mongoose.model('myModel', schemaInstance);
Run Code Online (Sandbox Code Playgroud)

myHapiRoute.js

const myValidator = require('./myValidator.js'),
    myController = require('./myController.js');

...

{
    method: 'POST',
    path: '/create',
    config: {
        description: 'create something',
        tags: ['api'],
        handler: myController,
        validate: myValidator
    }
}
...
Run Code Online (Sandbox Code Playgroud)

我想避免麻烦,保持mySchema.js文件生成它究竟来自淳佳的架构.

有关如何做或任何不同方法的任何建议?

mongoose node.js hapijs joi mongoose-schema

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