AjaxとPHPを介したCSVコンテンツのダウンロード

nratawa

サーバーでホストされているPHPスクリプトを介してCSVコンテンツをダウンロードしようとしています。

これは、テーブルを実行および作成するjqueryコードです。

    $(document).ready(function() {
    $("#btnSubmit").click(function(){
        $.ajax({
            type: 'GET',
            url: 'http://mydomaincom/wp-content/uploads/get-csv.php',
            data: null,
            success: function(text) {

                var fields = text.split(/\n/);
                fields.pop(fields.length-1);
       
                var headers = fields[0].split(','), 
                html = '<table>';
                html += '<tr>';
       
                for(var i = 0; i < headers.length; i += 1) {
                    html += '<th scope="col">' + headers[i] + '</th>';              
                }
       
                html += '</tr>';           
                var data = fields.slice(1, fields.length);           
                for(var j = 0; j < data.length; j += 1) {
                    var dataFields = data[j].split(',');              
                    html += '<tr>';
                    html += '<td>' + dataFields[0] + '</td>';
                    html += '<td><a href="' + dataFields[1] + '">' + dataFields[1] + '</a></td>';
                    html += '<td>' + dataFields[2] + '</td>';
                    html += '</tr>';           
                }
       
                html += '</table>';
                $(html).appendTo('body');                
            }
        });
    });
});

get-csv.phpファイルの内容:

<?php
header('Content-Type: text/plain');
$csv = file_get_contents('http://mydomaincom/wp-content/uploads/csv-samples.csv');
echo $csv;
?>

ボタンのコードは次のとおりです。

<!-- Begin Button -->  
<div class="demo">
<input id = "btnSubmit" type="submit" value="Get It"/>
</div>
<!-- End Button -->

ブラウザから:http://mydomaincom/wp-content/uploads/get-csv.phpにアクセスできます-問題ありませんhttp://mysitecom/wp-content/uploads/csv-samples.csvにアクセスできます-問題ありません

ボタンをクリックしても何も起こりません。

ありがとう

カルステン・マスマン

以下に、動作するときにどのように動作するかを確認できる動作スニペットをまとめようとしました...

$(document).ready(function () {
  $("#btnSubmit").click(function () {
    $.ajax({
      type: 'GET',
//    url: 'http://mydomaincom/wp-content/uploads/get-csv.php',
//    url: 'https://jsonplaceholder.typicode.com/users', // --> JSON
      url: "https://data.cdc.gov/api/views/45um-c62r/rows.csv",
      data: null,
      success: function (text) {
        var fields = text.split(/\n/);
        fields.pop(fields.length - 1);

        var headers = fields[0].split(','), html = '<table>';
        html += '<tr>';

        for (var i = 0; i < (headers.length,3); i += 1) {
          html += '<th scope="col">' + headers[i] + '</th>';
        }

        html += '</tr>';
        var data = fields.slice(1, fields.length);
        for (var j = 0; j < data.length; j += 1) {
          var dataFields = data[j].split(',');
          html += '<tr>';
          html += '<td>' + dataFields[0] + '</td>';
          html += '<td><a href="' + dataFields[1] + '">' + dataFields[1] + '</a></td>';
          html += '<td>' + dataFields[2] + '</td>';
          html += '</tr>';
        }

        html += '</table>';
        $(html).appendTo('body');
      }
    });
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="btnSubmit">get data</button>

もう少し調べてみると、実際に公開されているCSVデータ(「TBI関連の救急科の訪問、入院、死亡の割合-米国、2001年から2010年」、米国保健社会福祉省)が見つかりました。現在、AJAXプロセスを示すためにそれを使用しています。

したがって、コードは基本的に機能します。もちろん単純化することもできますが、それは重要ではありません。あなたのサイトで遭遇する問題はおそらくCORSに関連していると思います。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

PowershellのRESTAPI呼び出しを介したZIPコンテンツのダウンロード

ChecksumMismatchError:Condaは、期待されるコンテンツとダウンロードされたコンテンツの不一致を検出しました

ajaxを介したファイルのダウンロード

jqueryまたはajaxを介してコンテンツをロードする

URLコンテンツのダウンロード-C#を使用したExcelファイルの処理

Androidアプリを介してUnity.obbコンテンツをダウンロードする

Angularのサーバーからtext / csvコンテンツをファイルとしてダウンロードする

phpの$ autoreplyの下にリンクまたはダウンロード可能なコンテンツを配置しますか?

固定幅のドロップダウンメニューを介してコンテンツがオーバーフローするのを防ぐ

AJAXを介して動的にロードされたコンテンツをテンプレート化するための最良の方法は?

wget、curl-ダウンロードされたページコンテンツは「&#43;」として+記号をエンコードします

MVC 5:Ajaxを介してコンテンツ領域をロードし、ブラウザーのURLを変更します

ブラウザが新しいインライン(ajax)コンテンツをロードしたときにトリガーされるJavascriptイベント?

OrchardCMSのコードを介したコンテンツアイテムの作成

ipywidgetドロップダウンにCSVのコンテンツを入力しますか?

反応のコンテンツボタンをダウンロード

Confluenceページコンテンツのダウンロード

ページコンテンツをテキストファイルとしてダウンロードする

Vueのaxios力PDFのダウンロードコンテンツなし

コントローラアクションとajaxを介してファイルのダウンロードを保護する方法は?

ダウンロード可能なコンテンツrubyとして生成されたxml

jQuery-Textareaコンテンツのダウンロード

CSSは可変コンテンツとウィンドウ幅でフロートを残しました

awsYamlでコンテンツをダウンロード

Webページのコンテンツをダウンロードする

Webページのコンテンツをダウンロードする

Webページのコンテンツ(AJAX呼び出しを介してロードされた)をフェッチします

指定された文字セットを使用してBLOBコンテンツをダウンロードする

BITSを介したAWSS3のダウンロード

TOP 一覧

  1. 1

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  2. 2

    ソートされた検索、ターゲット値未満の数をカウント

  3. 3

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  4. 4

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  5. 5

    Ansibleで複数行のシェルスクリプトを実行する方法

  6. 6

    Reactでclsxを使用する方法

  7. 7

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  8. 8

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  9. 9

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  10. 10

    PowerShellの分割ファイルへのヘッダーの追加

  11. 11

    Chromeウェブアプリのウェブビューの高さの問題

  12. 12

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  13. 13

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  14. 14

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  15. 15

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  16. 16

    MLでのデータ前処理の背後にある直感

  17. 17

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  18. 18

    reCAPTCHA-エラーコード:ユーザーの応答を検証するときの「missing-input-response」、「missing-input-secret」(POSTの詳細がない)

  19. 19

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  20. 20

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  21. 21

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

ホットタグ

アーカイブ