Yahoo widgetでキーフレーズ抽出

Yahoo!デベロッパーネットワーク
キーフレーズ抽出
http://developer.yahoo.co.jp/webapi/jlp/keyphrase/v1/extract.html
を試してたのだが、いろいろとトラブル。
GETだと上手くいくがPOSTだと上手くいかない。
いろいろ試行錯誤して、結論は
request.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" );
を自力で付加しないとダメでした。

function requestSend(queryStr){
	var appid = '';
	var s = "http://jlp.yahooapis.jp/KeyphraseService/V1/extract?";
	var q = s + "appid=" + appid + "&output=xml";

	var request = new XMLHttpRequest();
	request.open( "POST", q, false );
	request.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" );
//	request.send("sentence=" + encodeURIComponent(queryStr));
	request.send("sentence=" + queryStr);
	var resStr = request.responseText;
	print(resStr);
}

POSTで渡す文字列はencodeしなくてもしても同じ結果でした。どちらにも付加ヘッダは必要。
やっぱencodeはしておいた方がいいです。常識的に考えて。でも、データ量増えちゃうんだよなぁ。

Yahoo widget自体がいろいろと微妙なんだけど(Yahoo!のやる気の無さが伝わってくる)、その辺はおいおい書くことにする。