我想将消息m
和数据发送v
到服务器,并且不需要对客户端 Javascript 上的响应做任何事情。有这样做的请求方法吗?如果不是,我想向客户端返回一个可接受的最低字符串(不会被处理)。做这个的最好方式是什么?
我尝试在 Javascript 上执行此操作,
function report(m,v){
io=new XMLHttpRequest();
io.open("POST","http://localhost:3000?m="+m,true);
io.send(JSON.stringify(v));
return false;
};
作为对它的回应,我发送了我认为是由 Ruby 创建的最小序列化字符串,例如
[].to_json
客户端 Javascript 说the server responded with a status of 500 (Internal State Error)
。
编辑
在服务器端,我有一个这样的 Ruby 代码:
Rack::Handler::Thin.run(Rack::Builder.new do
map("/") do
run(->env{[200, {}, [server.ajax(
Rack::Utils.parse_nested_query(env["QUERY_STRING"]),
env["rack.input"].read
)]]})
end
end, Port: 3000)
whereserver.ajax
方法是这样的:
def ajax h, v
m, v = h["m"].to_sym, JSON.parse(v)
case m
...
when :error
puts m
p v
return "" # or `[].to_json` or whatever
...
end
end
在特定情况下,我收到的消息m
是'error'
. 我从上面的代码中得到输出,所以我认为问题出在响应上。