Why saveAs() in Javascript Does Not Work for Me?

Why saveAs() in Javascript Does Not Work for Me?

I need to save a graph to a JSON file. Before doing that, I wrote a very simple HTML/JavaScript to test it out (just use a simple string for the JSON).

Based on the suggestion in a Stack Overflow posting, I use saveAs() method. But it looks like saveAs() does not work and no file is created. I am using Internet Explorer and Window 10.

In order to debug it, I inserted 3 window.alert() calls. The first 2 window.alert() calls pop up correctly, however, the 3rd window.alert() call does not show up at all. So I am afraid that the code is aborted at the saveAs() call.

The following is my code:

<html>
<head>
<title>Save</title>
<script>

function save() 
{ 
window.alert("I am here 1");
var jsonBlob = new Blob([JSON.stringify("kiki")], { type: 'application/javascript;charset=utf-8' });
window.alert("I am here 2");
saveAs(jsonBlob, "testout.json");
window.alert("I am here 3");
} 

</script> 
</head>
<body> 
<form name="myform"> 
<input type="button" onClick="save();" value="Save">
</form> 
</body>
</html>

I am wondering why saveAs() does not work for me? Am I missing something here? Do I need to add something to my computer in order to use saveAs() method?

Thank you very much for your advice!

5

2 Answers

You are a little bit error in saveAs. Code is given below:

 <html>
    <head>
    <title>Save</title>
    <script>

    function save() 
    { 
    window.alert("I am here 1");
    var jsonBlob = new Blob([JSON.stringify("kiki")], { type: 'application/javascript;charset=utf-8' });
    window.alert("I am here 2");
   var link=window.URL.createObjectURL(jsonBlob);
    window.location=link;
    window.alert("I am here 3");
    } 

    </script> 
    </head>
    <body> 
    <form name="myform"> 
    <input type="button" onClick="save();" value="Save">
    </form> 
    </body>
    </html>

Also you can see this:

2

Convert into excel sheet using JavaScript

var excelBlob = new Blob([response], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "excel.xlsx");     
var link=window.URL.createObjectURL(excelBlob);
window.location=link;

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Alexander Ross
Author

Alexander Ross

Alexander Ross has covered the video game industry for a decade, writing deep dives on game design, esports tournaments, VR developments, and gaming culture.