/** * Emulate FormData for some browsers * MIT License * (c) 2010 François de Metz */ ;(function (w) { if (w.FakeFormData) return function FormData() { this.fake = true this.boundary = '--------FormData' + Math.random() this._fields = [] } FormData.prototype.append = function (key, value) { this._fields.push([key, value]) } FormData.prototype.toString = function () { var boundary = this.boundary var body = '' this._fields.forEach(function (field) { body += '--' + boundary + '\r\n' // file upload if (field[1] && field[1].name) { var file = field[1] body += 'Content-Disposition: form-data; name="' + field[0] + '"; filename="' + file.name + '"\r\n' body += 'Content-Type: ' + file.type + '\r\n\r\n' body += file.getAsBinary() + '\r\n' } else { body += 'Content-Disposition: form-data; name="' + field[0] + '";\r\n\r\n' if (field !== 0 && !!field[1]) body += field[1] body += '\r\n' } }) body += '--' + boundary + '--' return body } w.FakeFormData = FormData })(window)