angularjs - Convert .ajax to $http - Method not Allowed (405) -
i attempting convert .ajax $http use in angular app, throwing "method not allowed" error. believe missing obvious, can't figure out failing.
here .ajax version:
function uploadfilesync(spweburl , library, filename, file) { var reader = new filereader(); reader.onloadend = function(evt) { if (evt.target.readystate == filereader.done) { var buffer = evt.target.result; var completeurl = spweburl + "/_api/web/lists/getbytitle('"+ library +"')" + "/rootfolder/files/add(url='"+ filename +"',overwrite='true')?" + "@targetlibrary='"+library+"'&@targetfilename='"+ filename +"'"; $.ajax({ url: completeurl, type: "post", data: buffer, async: false, processdata: false, headers: { "accept": "application/json;odata=verbose", "x-requestdigest": $("#__requestdigest").val(), "content-length": buffer.bytelength }, complete: function (data) { //uploaded pic url console.log(data.responsejson.d.serverrelativeurl); $route.reload(); }, error: function (err) { alert('failed'); } }); } }; reader.readasarraybuffer(file); }
here $http version:
function uploadfilesync(spweburl , library, filename, file) { var reader = new filereader(); reader.onloadend = function (evt) { if (evt.target.readystate == filereader.done) { var buffer = evt.target.result; var completeurl = spweburl + "/_api/web/lists/getbytitle('" + library + "')" + "/rootfolder/files/add(url='" + filename + "',overwrite='true')?" + "@targetlibrary='" + library + "'&@targetfilename='" + filename + "'"; $http({ url: completeurl, type: "post", data: buffer, processdata: false, headers: { "accept": "application/json;odata=verbose", "x-requestdigest": $("#__requestdigest").val(), "content-length": buffer.bytelength } }).success(function (data) { //uploaded pic url //console.log(data.responsejson.d.serverrelativeurl); $route.reload(); }).error(function (err) { alert(err); }); } }; reader.readasarraybuffer(file); }
Comments
Post a Comment