我有一个rails应用程序响应url'/ copy /:collection /:email'的请求。在应用程序中,我发送的请求为XMLHttpRequest()
:
var req = new XMLHttpRequest();
req.onreadystatechange = function(){
console.log(req);
}
req.open("GET", '/copy/' + collection + "/" + copyTo, true);
req.send();
服务器接收请求并执行正确的操作,但在完成时返回Completed 404 Not Acceptable in ...
我在日志中注意到它通常会说Processing by XController#copy as JS
的位置,日志只显示为:Processing by XController#copy as
。我已经进行了一些调试,并确定request.format为nil。有没有办法在发送我的请求时设置它?
答案 0 :(得分:1)
最简单的方法是像这样添加URL的扩展名
req.open("GET", '/copy/' + collection + "/" + copyTo + ".js", true);
另一种方法是将http请求的Accept标头设置为text / javascript。我相信这样做会是这样的(我自己也没试过)
req.setRequestHeader("Accept", "text/javascript")
req.open("GET", '/copy/' + collection + "/" + copyTo, true);