小编sea*_*nmk的帖子

IE中的XDomainRequest给出Access is Denied错误

这是我使用的代码如下:

我使用的是IE9,无法在"网络"选项卡中看到正在发送的请求.我确实在JSP中设置了Access-Control标头:

<% response.setHeader("Access-Control-Allow-Origin", "*");%>
Run Code Online (Sandbox Code Playgroud)

从JSP获取AJAX HTML内容的代码:

if ($.browser.msie && window.XDomainRequest) {

    var xdr = new window.XDomainRequest();
    xdr.open("GET", "http://dev01.org:11110/crs/qw/qw.jsp?&_=" + Math.random());
    xdr.contentType = "text/plain";
    xdr.timeout = 5000;
    xdr.onerror = function () {
        console.log('we have an error!');
    }
    xdr.onprogress = function () {
        console.log('this sucks!');
    };
    xdr.ontimeout = function () {
        console.log('it timed out!');
    };
    xdr.onopen = function () {
        console.log('we open the xdomainrequest');
    };
    xdr.onload = function() {
        alert(xdr.responseText);
    };
    xdr.send(null);
} else { ...... }
Run Code Online (Sandbox Code Playgroud)

我得到一个访问被拒绝错误.任何帮助将非常感激!

xdomainrequest

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

有没有办法在 Verilog 中定义类似 C 结构的东西

我有一个用 Verilog(重要的是不是 SystemVerilog)编写的项目,由于在设计的不同部分之间传递的信号数量太多,它变得有点难以管理。因为我有几个模块都需要相同的信号,所以我想尝试将它们合并为较少数量的命名对象。问题是如何去做。

假设这是我人为的例子:

module mymodule(sig_a_in, sig_b_in, sig_c_in, sig_d_in, sig_e_in,
                sig_a_out, sig_b_out, sig_c_out, sig_d_out, sig_e_out);

  input wire sig_a_in, sig_b_in, sig_c_in;
  input wire [5  : 0] sig_d_in;
  input wire [31 : 0] sig_e_in;
  output reg sig_a_out, sig_b_out, sig_c_out;
  output reg [5  : 0] sig_d_out;
  output reg [31 : 0] sig_e_out;
endmodule
Run Code Online (Sandbox Code Playgroud)

在我看来,重要的是我可以按名称引用信号的可读性。但是,我不想将它们全部单独传递给每个模块。同样,我在这个项目中只使用 Verilog,所以 SystemVerilog 构造是不可能的。

我的第一个想法是我只需将它们组合成一个总线,然后使用定义的名称来引用各个电线。然而,这有点笨拙,尤其是当您将其他总线添加到混音中时。这在我人为的例子中非常简单,因为信号具有明显的隐式顺序,但在现实生活中它们没有。

`define SIGNAL_BUS_WIDTH 41
`define A 0
`define B 1
`define C 2
`define D 3
`define E 9

module mymodule(signal_bus_in, signal_bus_out);

  input wire [`SIGNAL_BUS_WIDTH-1 : …
Run Code Online (Sandbox Code Playgroud)

struct verilog hdl

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

如何编写处理集合的 json4s CustomSerializer

我有一个类,我试图使用 json4sCustomSerializer功能反序列化。由于json4s 无法反序列化可变集合,我需要这样做。

这是我要反序列化的类的基本结构(不用担心为什么类是这样的结构):

case class FeatureValue(timestamp:Double)

object FeatureValue{
  implicit def ordering[F <: FeatureValue] = new Ordering[F] {
    override def compare(a: F, b: F): Int = {
      a.timestamp.compareTo(b.timestamp)
    }
  }
}

class Point {
  val features = new HashMap[String, SortedSet[FeatureValue]]

  def add(name:String, value:FeatureValue):Unit = {
    val oldValue:SortedSet[FeatureValue] = features.getOrElseUpdate(name, SortedSet[FeatureValue]())
    oldValue += value
  }
}
Run Code Online (Sandbox Code Playgroud)

Json4s 序列化这个就好了。序列化实例可能如下所示:

{"features":
  {
   "CODE0":[{"timestamp":4.8828914447482E8}],
   "CODE1":[{"timestamp":4.8828914541333E8}],
   "CODE2":[{"timestamp":4.8828915127325E8},{"timestamp":4.8828910097466E8}]
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试编写自定义反序列化器,但我不知道如何处理列表尾部。在普通匹配器中,您可以递归调用自己的函数,但在这种情况下,该函数是匿名的,并且通过 json4s API 调用。我找不到任何涉及此问题的示例,也无法弄清楚。

目前,我只能匹配单个哈希键FeatureValue及其值中的单个实例。这是 CustomSerializer 的现状:

import org.json4s.{FieldSerializer, DefaultFormats, …
Run Code Online (Sandbox Code Playgroud)

functional-programming scala deserialization json4s

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