2011年4月6日水曜日

CouchDBをMacでJavaScriptを使ってJSONPしてハマった所メモ

1 マックはデフォルトの設定では、Couchdbでjsonpできない。
futonで、下記の「allow_jsonp」を「true」にする

(Ubuntuではこの設定なくて、デフォルトでjsonpできたのになぜ?
 バージョンのせいか、macがルートでインストールしなかったせいだろう多分)




2 マックでは、jsonの日本語が文字化けする
<例>
function k_getdoc(){
  var gtjdot = 'http://127.0.0.1:5984/cocktail-book/matini" + "callback=?';


  $.getJSON(gtjdat, function(jdata){
    var jstr = JSON.stringfy(jdata); //jsonオブジェクトを文字列に
alert(jstr);  //日本語文字化け
    kdoc = eval('(' + jstr + ')');  //evalを使うと簡単に日本語になる!
alert(kdoc);  //日本語OK
  });
}


3  削除(DELETE)の時は、&でcallback=?をつなげる
<例>
function k_deldoc(){
  var gtjdot = 'http://127.0.0.1:5984/cocktail-book/matini?rev=XXXX' +  '&callback=?'  //&で ま当たり前か


  $.delJSON(gtjdat, function(jdata){  //注意!jqueryにdelJSONはありません自作です
alert("データを削除しました”);
  });
}


以上、C、C++屋なんで、Javascriptなんてほとんどやったことなかったので、常識かもしれませんが、

ハ マ っ て しまいました。

詳細のソースはこちらのツールを作った時なので参照
http://vasdaqtv.blogspot.com/2011/04/couchdb-couchdbgoza.html

0 件のコメント: