2016-03-25 12 views
0

JSON形式を使用して2ページ間にデータを送信しています。 2番目のページでは、JSONをURLにエンコードしてデータを追加し、3番目のページに再度送信する必要があります。これはJSONをGETを使用して2番目のページに送信するために使用したコードです。私はこれを試してみました2ページ目でURLでエンコードされたJSONを取得する

form.submit(function(e) { 
     // stop the regular form submission 
     e.preventDefault(); 

     // collect the form data 
     var data = {}; 

     data["valueDimensional"] = $('#valueDimensional').val(); 
     data["timeSlot"] = $('#timeSlot option:selected').val(); 
     data["splitOption"] = $('#splitOption option:selected').val() 

     var strJSON = JSON.stringify(data); 
     var escapedStrJSON = encodeURIComponent(strJSON); 
     var url = "/warning/app/data?par="+escapedStrJSON; 
     window.location.href = url; 

    }); 

 form.submit(function(e) { 
      // stop the regular form submission 
      e.preventDefault(); 

      $.getJSON(window.location.href, function(data) { 
       //data is the JSON string 
       alert(data); 
      }); 

     }); 
+0

申し訳ありませんがofftop:ページ間にデータを保存するための他の方法について聞いたことがありますか?クライアント:クッキー、localStorageまたはサーバー側:セッションvars? JSONをURLにコード化して再構築するよりも、実装、デバッグ、サポートが簡単です – shershen

+0

私はこれらのソリューションが存在することを知っていますが、最初にセッション変数を使用しましたが、このソリューションを使用するよう依頼されました。 URL上のすべてのデータ – Falangher

+0

2ページ目のコードは意味をなさない。フォームデータを無視し、そのページ全体でhtmlの代わりにjsonを送信する方法をサーバーがどのように知っていますか? – charlietfl

答えて

0

getJSON URLを取り、それにHTTP要求を行います。

JSONが直接エンコードされたようなものを探すために、URLを検索しません。

以下を行う必要があります。JSON.parseを通じて結果を渡しpar

  • の値を読み取るために

    1. parse the query string
  • 0

    使用JSON.parse(window.location.href) 2ページ目のコードではなく、:

    $.getJSON(window.location.href, function(data) { 
    
    +0

    これは多くの助けになりましたが、私はパラメータ値も読む必要がありました:Dありがとう! – Falangher

    関連する問題