2016-08-16 16 views
0

私は、jsonクエリ結果から結果を書き出すための簡単な解決策を探しています。サーバファイルに結果を書き込む

私はjsonクエリから統計を取得し、document.writeというファイルを持っています。

これらの結果は、サーバー上のcsvまたはxmlファイルに出力する必要があります。

私はセキュリティリスクのためにjavascriptを使用できないことを認識しています。しかし、私はPHPを使うことができると理解しています。それとももっと簡単な解決法があるかもしれません。

私は非常にこれに新しいので、誰かが私はこれを把握することができますか私は疑問に思っていた。

私のコードは以下の通りです:

<html lang="en"> 
<meta charset="utf-8"> 
<head> 
    <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.0.min.js"></script> 


</head> 


<script> 
     var query = { 
    "query": [ 
    { 
     "code": "Sveitarfélag", 
     "selection": { 
     "filter": "item", 
     "values": [ 
      "Alls" 
     ] 
     } 
    }, 
    { 
     "code": "Aldur", 
     "selection": { 
     "filter": "item", 
     "values": [ 
      "Alls" 
     ] 
     } 
    }, 
    { 
     "code": "Ár", 
     "selection": { 
     "filter": "item", 
     "values": [ 
      "18" 
     ] 
     } 
    }, 
    { 
     "code": "Kyn", 
     "selection": { 
     "filter": "item", 
     "values": [ 
      "Alls" 
     ] 
     } 
    } 
    ], 
    "response": { 
    "format": "csv" 
    } 
}; 
     query = JSON.stringify(query); 
     $.ajax({ 
       type: "POST", 
      url: "http://px.hagstofa.is/pxis/api/v1/is/Ibuar/mannfjoldi/2_byggdir/sveitarfelog/MAN02001.px", 
      data:query, 
      success: function(json) { 
       document.write(json); 
     } 
    }); 
</script> 
</html> 

** EDIT ** だけ明確にする:

私は、XMLまたはCSVを読むことができるアプリケーションがあります。だから私は、上記のファイルからの結果をファイルに印刷して保存する必要があります:「/サーバー/ユーザー/ htdocsに/xml-or-csv/File.csv」

またはXML

+0

jsonをcsvに_convert_するか、ssvに送信したいエルバー? Didntはタスクを得ます、plsは明確になります –

+0

私はxmlまたはcsvだけを読むことができるアプリケーションがあります。だから私は上記のファイルの結果を印刷してファイルに保存する必要があります: "/server/user/htdocs/xml-or-csv/File.csv" – Aron

+0

あなたがデータを投稿した後、保存する部分を処理する必要がありますサーバー側で'file_put_contents(" filename "、serialize($ data))' –

答えて

0

あなたがする必要があります"http://px.hagstofa.is/pxis/api/v1/is/Ibuar/mannfjoldi/2_byggdir/sveitarfelog/MAN02001.px"を処理するエンドポイントにphpコードを入れてください。

このコードをindex.phpとして保存し、ajaxの投稿URLをindex.phpに変更すると、ファイルを保存する方法のデモができますリモートからajax投稿

<?php 
    if(isset($_POST['data'])){ 
     $data = $_POST['data']; 
     echo $data; 
     //instead of xyz.csv, you need to give the complete path of the file to where you want to store 
     file_put_contents("xyz.csv", $data); 
    } 
    ?> 
    <html> 
    <head> 
     <script type="text/javascript" src = "jquery.js"></script> 

     <script> 
      var query = { 
       "query": [ 
       { 
        "code": "Sveitarfélag", 
        "selection": { 
         "filter": "item", 
         "values": [ 
         "Alls" 
         ] 
        } 
       }, 
       { 
        "code": "Aldur", 
        "selection": { 
         "filter": "item", 
         "values": [ 
         "Alls" 
         ] 
        } 
       }, 
       { 
        "code": "Ár", 
        "selection": { 
         "filter": "item", 
         "values": [ 
         "18" 
         ] 
        } 
       }, 
       { 
        "code": "Kyn", 
        "selection": { 
         "filter": "item", 
         "values": [ 
         "Alls" 
         ] 
        } 
       } 
       ], 
       "response": { 
        "format": "csv" 
       } 
      } 

      $(document).ready(function(){ 
       $('#btn').click(function(){ 
       console.log({'data':JSON.stringify(query)}); 

       $.ajax({ 
        type: "POST", 
        url: "http://px.hagstofa.is/pxis/api/v1/is/Ibuar/mannfjoldi/2_byggdir/sveitarfelog/MAN02001.px", 
        data:{'data':JSON.stringify(query)}, 
        success: function(json) { 

        } 
       }); 


      }) 


      }) 



     </script> 
    </head> 
    <body> 
     <button id="btn">Click</button> 

    </body> 
    </html> 
+0

あなたの返事をありがとうが、私はcsvファイルを書きたい場所に完全なパスを設定し、jqueryの場所も変更しました...しかし、POSTで404エラーが発生しました。結果を出すことも、ファイルを保存することもありません。あなたはこれをテストしましたか? – Aron

+0

jqueryの場所はどのように変更しましたか? jqueryで入力したURLを処理するバックエンドは、ファイルの保存を処理する必要があります。あなたはjqueryからそれを行うことはできません。 Jqueryはデータをサーバーに渡すだけです。あなたはjquery post **からサーバー**の内容を取得して保存する必要があります** –

+0

サーバー**のローカルパス**に変更してから、それを '' ,,,両方の方法が機能しませんでした。私も最新バージョンを試しました.... – Aron

関連する問題