前回は、$resourceによるGETの実装を紹介したが、今回はPOSTの実装の紹介。
angular.module('mockServices', ['ngResource']) .factory('mockData', ['$resource', function($resource) { return $resource("http://example.com:8888/:userid", { userid: 99 }, { getMock: { method: 'JSONP', params: { uid: '1', callback: 'JSON_CALLBACK' }, isArray: false }, postMock: { method: 'POST', params: {}, headers: { 'Content-Type': 'application/json' }, isArray: false, } }); } ])
headerにcontent-typeを指定して、methodにPOSTを指定する。 さてPOSTの場合、どうやってデータを送信するのか気になるところ。GETの場合は、データがサーバ側からやってくるが、POSTの場合は、クライアント側からデータを送信しないといけいない。
データの送信方法は、下記。
var data = { "test": "OKOKOK" }; mockData.postMock(JSON.stringify(data));
これでサーバ側には、dataをjson形式で送信できる。