这是我使用的代码如下:
我使用的是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)
我得到一个访问被拒绝错误.任何帮助将非常感激!
我有一个用 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) 我有一个类,我试图使用 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)