JSON文字列をキーなしで送りたいのに、POSTしたデータに_=とか余分なデータが付いてしまうので、サーバサイドが正しくJSONをパースできない現象があった。
var testAjax = new Ajax.Request(
url,
{
method: 'post',
parameters: jsonstr,
asynchronous: true,
onComplete: showResponse
});
prototype.jsのソースを見ると一目瞭然で、わざわざ付加している模様。
1.4.0
var parameters = this.options.parameters || '';
if (parameters.length > 0) parameters += '&_=';
1.5.0
params = Hash.toQueryString(params);
if (params && /Konqueror|Safari|KHTML/.test(navigator.userAgent)) params += '&_='
なるほど?Safariとかで必要なワケか。
とりあえず、QooxdooのRPCクラスと互換性のあるものをprototype.jsで、デバッグのために使いたかっただけなので、さっくり該当行削除して終了。
このパラメータがないとSafariではどうなるんだろう…自分で調べてみたりする気は全然起きないのですが。