小编Rob*_*b W的帖子

如何响应XMLHttpRequest

我正在使用Javascript来询问我们的应用程序(在Google App Engine中),如果用户想要上传的文件已经在他的文件列表中(他将覆盖).

我知道如何发送请求,但是如何使用Python从服务器创建响应?

这是请求:

var req = new XMLHttpRequest();

  req.open('POST', 'https://safeshareapp.appspot.com/upload', async);

  req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  req.setRequestHeader("Content-length", body.length);
  req.setRequestHeader("Connection", "close");

  if (async) {
    req.onreadystatechange = function() {
      if(req.readyState == 4 && req.status == 200) {
        var response = null;
        try {
         response = JSON.parse(req.responseText);
        } catch (e) {
         response = req.responseText;
        }
        callback(response);
      }
    }
  }

  // Make the actual request
  req.send(body);
Run Code Online (Sandbox Code Playgroud)

如你所见,我们在一切都行之后从请求中获取responseText,但我的问题是我们如何在服务器端填充responseText字段?

javascript python google-app-engine xmlhttprequest

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

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

JavaScript中的>>和>>>运算符有什么区别

在以下63两种情况下,运行以下JavaScript代码:

  alert( 0xff >> 2 );
  alert( 0xff >>> 2 );
Run Code Online (Sandbox Code Playgroud)

>>和之间有什么区别>>>?他们的结果似乎是平等的.

javascript bitwise-operators

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

没有严格模式的JSON.parse

我正在阅读关于javascript中严格模式的John Resig博客,但我有一个问题.

严格模式的一个特性是使用JSON.parse和JSON.stringify,但我可以使用WITHOUT"use strict".

如果你写他在博客上使用的相同例子:

var str = JSON.stringify({ name: "John" });
// Prints {"name":"John"}
alert( str );
Run Code Online (Sandbox Code Playgroud)

你可以看到这个工作.

为什么允许这样做?我错过了什么吗?

谢谢!

javascript use-strict ecmascript-5

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

在表格中找到<tr>

我有一张桌子:

<table id="Table">
    <tr id="tr-1">
        <td>1</td>
    </tr>
    <tr id="tr-2">
        <td>2</td>
    </tr>
    <tr id="tr-3">
        <td>3</td>
    </tr>
    <tr id="tr-4>
        <td>4</td>
    </tr>
    <tr id="tr-5">
        <td>5</td>
    </tr>
</table
Run Code Online (Sandbox Code Playgroud)

我有代码查找<tr>该表中的最后一个

var ID = $("#Table tr:last").attr("id");
Run Code Online (Sandbox Code Playgroud)

现在我想从我收集的ID中找到<tr>两个<tr>人的身份.答案是<tr>id ="3".但是我会写什么代码来得到答案?

jquery css-selectors jquery-selectors

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

如何创建一个行为像真正的数组的构造函数?

如何创建自定义数组构造函数,它是本机Array构造函数的扩展版本?

例如,jQuery看起来像一个带有其他方法的数组,例如$().addClass.但是,它没有修改Array.prototype,因为new Array().hasClassundefined.

那么,如何在不修改的情况下创建扩展数组实现Array.prototype呢?

例:

Employees( ... )          //-> [{name: 'John', age: 32}, {name: 'Bob', age: 29}];
Employees( ... ).byAge(32)//-> [{name: 'John', age: 32}];
// and
Array().byAge             //-> undefined
Run Code Online (Sandbox Code Playgroud)

javascript arrays implementation constructor class

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

Chrome扩展程序中的AJAX请求失败,具有正确的清单权限?

我正在编写Chrome扩展程序,它执行简单的ajax调用(基于此示例来自文档):

$.ajax({
    type: "GET",
    url: "http://www.flags.99k.org/getFlags.php"
}).done(function(response) {
    alert("SUCCESS: " + response);
}).fail(function(response) {
    alert("FAILURE: " + response);
});
Run Code Online (Sandbox Code Playgroud)

请求总是失败,因为警报显示:FAILURE: [object Object].
该URL有效:当我将http://www.flags.99k.org/getFlags.php放入我的地址栏时,我得到了这个:

[{"UID": "1", "Message": "Hello"}, {"UID": "2", "Message": "World"}, {"UID": "3", "Message": "Hello World"}]
Run Code Online (Sandbox Code Playgroud)

这是我的manifest.json扩展名.

{
  "name": "Hello World",
  "version": "1.0",
  "description": "The first extension that I made.",
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "permissions": [
      "http://www.flags.99k.org/"
  ]
}
Run Code Online (Sandbox Code Playgroud)

我使用Chromium 17.0.963.79(Developer Build 125985 Linux)Ubuntu 11.10.

ajax jquery google-chrome google-chrome-extension

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

CSS3动画无法在IE或Opera中运行

我创建了一个简单的动画,使用webkit属性和CSS3在网站上旋转图像.

这里的样式css(它只适用于div)

.bg {
    position: relative;
    top: 0px;
    left: 0px;
    display:block;
    -webkit-animation: spin 100s infinite linear;
    -moz-animation: spin 100s infinite linear;
    -o-animation: spin 100s infinite linear;
    -ms-animation: spin 100s infinite linear;
    opacity:0.8;
    filter:alpha(opacity=80); /* For IE8 and earlier */
    z-index:-1;
}
@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg);}
  100% { -webkit-transform: rotate(360deg);}
}
@-moz-keyframes spin {
    0% { -moz-transform: rotate(0deg);}
  100% { -moz-transform: rotate(360deg);}
}
@-o-keyframes spin {
    0% { -o-transform: rotate(0deg);}
  100% { -o-transform: rotate(360deg);}
}
@-ms-keyframes spin { …
Run Code Online (Sandbox Code Playgroud)

css browser opera internet-explorer css3

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

XMLHttpRequest成功没有明确权限?也许CORS?

我开发了使用YouTube Data API v2的Google Chrome扩展程序.清单中的我的权限字段如下所示,因为脚本是在youtube.com下的页面中注入的,我还需要访问选项卡:

"permissions": ["tabs", "*://*.youtube.com/*"]
Run Code Online (Sandbox Code Playgroud)

这也适用于我向YouTube Data API v2发出请求,因为该请求是针对http://gdata.youtube.com/进行的,因此它是同一个域.但现在我正在迁移到YouTube Data API v3,请求必须完成http://www.googleapis.com/youtube/v3/(请注意HTTPS而不是HTTP).但令人惊讶的是,我的请求在没有添加任何新权限的情况下完美运行.

我知道,我问的是一些似乎不是问题的东西,但我个人认为我在软件中不理解的任何行为都是一个问题.为什么会这样?我不应该添加权限"*://*.googleapis.com/*",以便我的API的XMLHttpRequest请求工作?

我也有一些猜测:HTTP Access Control标头.我的请求会发送Origin带有值的标头chrome-extension://myExtensionId.API的答案还包含以下标题:

Access-Control-Allow-Origin: chrome-extension://myExtensionId

但这可能是Chrome允许我在没有清单中定义的额外权限的情况下进行跨源XMLHttpRequest的原因吗?不确定,显然在Google API,YouTube Data API v3或Chrome Extensions开发人员文档中没有记录.

xmlhttprequest google-api youtube-api cross-domain google-chrome-extension

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

如何修复折叠顶部和底部边距?

我是CSS的新手,我正在尝试了解如何修复以下行,而不是顶部和底部边距.它适用于边缘边缘,但是:

.contents {
    ...
    margin: 10px 10px 10px 10px;
}
Run Code Online (Sandbox Code Playgroud)

示例:http://jsfiddle.net/LCTeU/

我该如何解决?

编辑:

我也试过填充容器,而只是将容器扩展到最大尺寸(为什么?):

.container {
    ...
    padding: 10px 10px 10px 10px;
}
Run Code Online (Sandbox Code Playgroud)

css margin

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