设置overrideMimeType(“application / json”);与Prototype.js

时间:2010-12-28 01:02:29

标签: javascript prototypejs

我想设置overrideMimeType(“application / json”);使用Ajax.Request。

据我所知,我认为我应该使用onCreate选项,如下所示:

new Ajax.Request("x.json", {onCreate: function() {...}});

然后在xhr上设置overrideMimeType("application/json");,除了我不确定如何从这个onCreate函数引用xhr。 xhr不是this而且不是arguments[0] afaict。

如何在xhr上设置overrideMimeType("application/json");

1 个答案:

答案 0 :(得分:3)

onCreate功能中尝试添加:

arguments[0].request.transport.overrideMimeType('application/json');

或:

arguments[0].transport.overrideMimeType('application/json');

这有点像黑客,Prototype选择不在他们的API中公开这个功能,大概是因为它不是跨浏览器安全的。到那时,您应该知道在IE或Opera中不能使用overrideMimeType。如果您仍想使用它,则应确保检查XMLHttpResponse对象上是否存在该方法。

希望这有帮助。