2016-12-26 3 views
1

私は基本的にapp.jsからserver.jsにオブジェクトを渡そうとしています。オブジェクトをあるjavascriptファイルから別のjavascriptファイルに移動するにはどうすればよいですか?

変数をあるファイルから別のファイルに移動するのと同様の質問をすべて見てきましたが、私の状況にこれらのソリューションを実装することはできません。

私は2つのjavascriptファイルと1つのhtmlファイルを持っています。最初のJavaScriptファイルで、私は変数のデータになりapp.jsからデータをフェッチしています:server.jsファイルで

$(function() { 
$.getJSON('http://api.stackexchange.com/2.2/questions/unanswered?page=1&pagesize=5&order=desc&sort=activity&site=stackoverflow', function(data) { 
    console.log(data); 
    }) 
sessionStorage.setItem('mydata', data); 
}); 

を、私は変数と呼ばれるデータおよびコンソールを取得しようとしていますそれを記録する。私は[オブジェクトオブジェクト]を取得するために私は近くにいるように感じますが、データセットまで開くことはできません。

var newData = sessionStorage.getItem('mydata'); 
console.log("From server.js:", newData); 
<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 

<body> 
    <script data-require="[email protected]*" data-semver="3.0.0" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js"></script> 
    <script src="app.js"></script> 
    <script src="server.js"></script> 
</body> 

</html> 

それは見て簡単だ場合、私はまたplunkerでこの例を持っている:http://plnkr.co/edit/kqwvW545sDKDMr0kidcd

すべてのヘルプは高く評価されます。

答えて

1

これは、オブジェクトをセッションストレージに直接保存するためです。 JSON文字列として保存する必要があります。セッションストレージでは、オブジェクトを直接保存しないでください。

sessionStorage.setItem('mydata', JSON.stringify(data)); 

あなたがオブジェクトを取得し、server.js app.jsで

var newData = sessionStorage.getItem('mydata'); 
console.log("From server.js:", JSON.parse(newData)); 

でそれをJSON.parseできるセッションストレージ内のデータが格納されているように、あなたのplunkerコードで次のように変更しますajax呼び出しが終了するとserver.jsがロードされます。 server.js

var newData = sessionStorage.getItem('mydata'); 
console.log("From server.js:", JSON.parse(newData)); 

http://plnkr.co/edit/bEXEBZxPByjErmMTNblf?p=preview

$(function() { 
    $.getJSON('http://api.stackexchange.com/2.2/questions/unanswered?page=1&pagesize=5&order=desc&sort=activity&site=stackoverflow', function(data) { 
    console.log("resp",data); 
    sessionStorage.setItem('mydata', JSON.stringify(data)); 


    $.getScript("server.js", function(data, textStatus, jqxhr) { 
    }); 
    }) 


}); 

関連する問題