'.post with query': function () { var def = this.async(), promise = xhr.post('/__services/request/xhr', { query: { foo: [ 'bar', 'baz' ], thud: 'thonk', xyzzy: 3 }, data: { color: 'blue' }, handleAs: 'json' }); promise.then( def.callback(function (data) { assert.strictEqual(data.method, 'POST'); var query = data.query, payload = data.payload; assert.ok(query); assert.deepEqual(query.foo, [ 'bar', 'baz' ]); assert.strictEqual(query.thud, 'thonk'); assert.strictEqual(query.xyzzy, '3'); assert.ok(payload); assert.strictEqual(payload.color, 'blue'); }), def.reject ); },
function post(headers) { return xhr.post('/__services/request/xhr', { query: { 'header-test': 'true' }, headers: headers, data: 'testing', handleAs: 'json' }); }
'document POST': function () { if (!hasResponseType) { this.skip('No responseType to test'); } return xhr.post('/__services/request/xhr/responseTypeDoc', { handleAs: 'document' }).then(function (response) { assert.strictEqual(response.constructor, document.constructor); }); }
'ArrayBuffer POST': function () { if (!hasResponseType) { this.skip('No responseType to test'); } return xhr.post('/__services/request/xhr/responseTypeGif', { handleAs: 'arraybuffer' }).then(function (response) { assert.strictEqual(response.constructor, ArrayBuffer); }); },
post: function () { if(!hasFormData) { this.skip('No FormData to test'); } var def = this.async(); xhr.post('/__services/request/xhr/multipart', { data: formData, handleAs: 'json' }).then( def.callback(function (data) { assert.deepEqual(data, { foo: 'bar', baz: 'blah' }); }), def.reject ); },
'.post': function () { var def = this.async(), promise = xhr.post('/__services/request/xhr', { data: { color: 'blue' }, handleAs: 'json' }); promise.response.then( def.callback(function (response) { assert.strictEqual(response.data.method, 'POST'); var payload = response.data.payload; assert.ok(payload && payload.color); assert.strictEqual(payload.color, 'blue'); }), def.reject ); },
'.post string payload': function () { var def = this.async(), promise = xhr.post('/__services/request/xhr', { data: 'foo=bar&color=blue&height=average', handleAs: 'json' }); promise.then( def.callback(function (data) { assert.strictEqual(data.method, 'POST'); var payload = data.payload; assert.ok(payload); assert.strictEqual(payload.foo, 'bar'); assert.strictEqual(payload.color, 'blue'); assert.strictEqual(payload.height, 'average'); }), def.reject ); },
export let post = function(url: string, option: any) { if(option.data && typeof option.data == 'object') { option.data.csrfmiddlewaretoken = cookie('csrftoken'); } return xhr.post(url, option); }