小编dar*_*sky的帖子

CORS - 不使用JSONP的跨域AJAX,允许在服务器上使用Origin

我在同一台服务器上有两个独立的应用程序,EmberJS试图对我的后端API进行跨域调用.

我设置了后端API以允许来自该特定来源的跨域请求.但有没有办法避免在这样的设置中使用JSONP?$.ajax在发送之前阻止跨域请求.如果没有,CORS有什么意义,我已经实现了哪些服务器端接受来自我的JS前端源的请求?

编辑

AJAX请求:

$.ajax({
    url: "api.lvh.me:3000/accounts/login",
    data: cred,
    type: "POST",
    xhrFields: {
        withCredentials: true
    },
    success: function(response){
        alert('succeeded!');
        console.log(response);
        alert(response);
    },
    failure: function(message){
        alert("failed");
        console.log(message);
        alert(message);
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript ajax ruby-on-rails cross-domain ember.js

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

Flask Blueprint找不到静态文件夹

我在Flask应用程序中设置了一个蓝图,但我似乎无法使我的静态文件夹工作.我试图联系到他时遇到404错误:

127.0.0.1 - - [11/Sep/2014 15:14:20] "GET /static/js/bootstrap.min.js HTTP/1.1" 404 -
127.0.0.1 - - [11/Sep/2014 15:14:20] "GET /static/static/css/bootstrap.min.css HTTP/1.1" 404 -
Run Code Online (Sandbox Code Playgroud)

css one也附加静态两次.JS具有正确/静态但似乎不起作用.现在,我的静态文件夹位于蓝图根路径(app/dashboard)中.我试过把它插入app/static但我得到了同样的错误.

我有以下设置:

app/dashboard/__init__.py:

from flask import Blueprint
dashboard = Blueprint('dashboard', __name__, template_folder='templates', static_folder='static')
from application.dashboard import controllers
Run Code Online (Sandbox Code Playgroud)

app/__init__.py:

# Blueprints      
from flask import Blueprint
from application.dashboard import dashboard
app.register_blueprint(dashboard)
Run Code Online (Sandbox Code Playgroud)

app/templates/layout.html,我有一行引用两个静态文件,如下所示:

<link rel="stylesheet" type="text/css" href="{{ url_for('dashboard.static', filename='css/bootstrap.min.css') }}">
<script src="{{ url_for('dashboard.static', filename='js/bootstrap.min.js') }}"></script>
Run Code Online (Sandbox Code Playgroud)

我的app/dashboard/static目录:

$ tree application/dashboard/static/
application/dashboard/static/
??? …
Run Code Online (Sandbox Code Playgroud)

python flask

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

Objective-C中的自定义对象初始化

我在Objective-C中创建了一个自定义对象.现在我想创建一个自定义初始化程序.该对象有两个属性,名称和分数.所以我的初始化程序如下:

- (id)initWithName:(NSString *)playerName {

    if ((self = [super init])) {
        self.name = [playerName retain];
        self.score = [NSNumber numberWithInt:0];
    }

    return self;
}
Run Code Online (Sandbox Code Playgroud)

retain在这里使用得当吗?或者我可以做到这样self.name = playerName;吗?

此外,假设我想要另一个初始化程序,但保留initWithName:playerName指定的初始化程序.如何让第二个初始化程序调用第一个?

对于最后一个问题,我知道我也需要覆盖这个- (id)init方法.但是,我该怎么办?只是分配测试属性,init只有类被初始化?

谢谢!

iphone cocoa-touch objective-c ipad

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

ByteBuffer和Byte数组

问题

我需要将两个整数和一个可变长度的字符串转换为字节.

我做了什么

我将每种数据类型转换为字节数组,然后将它们添加到字节缓冲区中.之后我将该缓冲区复制到一个字节数组,如下所示.

byte[] nameByteArray = cityName.getBytes();
byte[] xByteArray = ByteBuffer.allocate(4).putInt(x).array();
byte[] yByteArray = ByteBuffer.allocate(4).putInt(y).array();
ByteBuffer byteBuffer = ByteBuffer.allocate(nameByteArray.length + xByteArray.length + yByteArray.length);
Run Code Online (Sandbox Code Playgroud)

现在这似乎有点多余.我当然可以将所有内容放入字节缓冲区并将其转换为字节数组.但是,我不知道我的字符串长度是多少.那么在这种情况下如何分配字节缓冲区呢?(要分配一个字节缓冲区,你必须指定它的容量)

java byte bytebuffer

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

访问字符串中的一个字符

我正在使用类似SPIMS或MARS的系统调用函数.

我正在读一个字符串(它可以工作,因为我可以打印出来)如下:

li $v0, 8
la $a0, string
li $a1, 256
syscall
Run Code Online (Sandbox Code Playgroud)

但是,我在访问字符串的单个字符时遇到问题.因此,如果我想访问第一个字符并打印它,我正在尝试这样做:

la $t0, string
lb $a0, ($t0)
li $v0, 4
sys call
Run Code Online (Sandbox Code Playgroud)

如果我尝试这样的事情:

la $a0, string
li $v0, 4
syscall
Run Code Online (Sandbox Code Playgroud)

这会将整个字符串打印为字符串指向整个字符串.

如果我尝试类似的东西:

la $a0, string
lb $a0, ($t0)
li $v0, 4
syscall
Run Code Online (Sandbox Code Playgroud)

它给了我一个出界的错误.我不明白为什么 - 虽然不是一个字节长的字符,这只是将字符串中的第一个字节加载到$ a0?

谢谢

string assembly mips spim mars-simulator

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

在C中将字符转换为二进制

我试图将一个字符转换为它的二进制表示(所以字符 - > ascii hex - >二进制).

我知道这样做我需要改变AND.但是,我的代码由于某种原因不起作用.

这就是我所拥有的.*temp指向C字符串中的索引.

char c;
int j;
for (j = i-1; j >= ptrPos; j--) {
    char x = *temp;
    c = (x >> i) & 1;
    printf("%d\n", c);
    temp--;
}
Run Code Online (Sandbox Code Playgroud)

c string binary ascii char

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

在 Python 中测试私有方法:单元测试还是功能测试?

在阅读了关于在 Python 中测试私有方法的内容后,具体参考以下接受的答案:如何对方法对象中的方法进行单元测试?,看来最好只测试公共接口。但是,我的班级看起来像这样:

class MyClass:

  def __init__(self):
    # init code

  def run(self):
    self.__A()
    self.__B()
    self.__C()
    self.__D()

  def __A(self):
    # code for __A

  def __B(self):
    # code for __B

  def __C(self):
    # code for __C

  def __D(self):
    # code for __D
Run Code Online (Sandbox Code Playgroud)

本质上,我创建了一个类,用于通过函数管道处理一些输入数据。在这种情况下,最好测试私有函数而不测试公共run()函数吗?做这个的最好方式是什么?

python unit-testing

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

扩展设备注册控制器

我有一个Accounts与Devise建立的模型.Devise使用一些属性(例如电子邮件,密码等),但我还有一些其他属性.注册时,我想以某种方式设置它们.

如何扩展注册控制器?我知道我需要实际创建一个这样的新控制器:

class AccountsController < Devise::RegistrationController
  def create
    super
  end
end
Run Code Online (Sandbox Code Playgroud)

我可以直接添加我的代码super吗?我认为资源已经被保存为时已晚.最好的方法是什么?

如果我从头开始编写创作,我怎么知道我没有错过Devise所做的任何事情?

谢谢,

model-view-controller controller ruby-on-rails devise

7
推荐指数
2
解决办法
8389
查看次数

ActiveRecord存在吗?与协会

我有以下ActiveRecord调用:

@payment = account.business.payments.find(params[:id])
Run Code Online (Sandbox Code Playgroud)

其中通过关联搜索paymentid为params[:id].但是,这会抛出RecordNotFound异常.

我想打电话exists?来查看记录是否存在以避免抛出异常.做Payment.exists?(account.business.payments.find(params[:id]))不起作用.

我想只有搜索paymentsbelong_tobusiness,不这样做的所有款项Payment.exists?(:id => params[:id]).这样我就可以知道这是特定账户的业务付款.

我怎样才能做到这一点?

注意: accounthas_one businessbusinesshas_many payments.

ruby activerecord ruby-on-rails

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

Emacs取消绑定模式的键绑定

我已经创建了一个自定义键绑定宏,如下所示:

(global-set-key (kbd "C-C C-c") "\C-a\C- \C-n\M-w\C-y")

问题是,C-c C-c被定义为python-send-bufferpython-mode.所以我的宏适用于除python-mode之外的所有模式.我假设python-mode在我的init文件之后进行评估,因此它会覆盖该键绑定.

我尝试C-c C-c使用(eval-after-load "python-mode")和使用取消设置,global-unset-key但这不起作用.C-c C-c在python中始终映射到python-send-buffer.

我怎样才能完全禁用Python C-c C-c,而是使用我的宏?

我正在使用Emacs 24.2.1.

emacs key-bindings python-mode emacs24

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