CasperJSのajaxでPOSTの送信ができない

Posted by Tatsuyano on Wed, Apr 6, 2016
In
Tags js, nodejs, casperjs

地味にハマった。Chromeだとパラメータにtype:"POST"がなくてもPOSTでリクエストを送信してくれるが、 CasperJsのブラウザでは、type:"POST"を明示しないとGETでリクエストを送信してしまう。

$.ajax({
    url:  "/shopping/addpoint/",
    type: "POST", // <-このパラメータが必須
    data: data,
    success: function(data, dataType) {
        var data_arr = JSON.parse(data);
        $('#point').text(data_arr['point']);
        alert(data_arr['msg']);
    }
});

手動で操作するぶんには問題なく動いていたので(typeパラメータが設定されていなくても)、 CasperJs(自分で書いたソース)側に問題があると思い込んでしまった。

思い込みで判断せずに、まずはアクセスログを確認しようという教訓でした。