0

サーバーの 1 つに保存されているファイルのコンテンツを、.txt別のサーバーで実行されている JavaScript から取得しようとしています。

私は使用しています:

$.ajax({  
    url: "http://example.com/file.txt",  
    dataType: "jsonp",  
    success: function(data) { remoteFile = data; }  
});  

しかしUncaught SyntaxError: Unexpected identifier、リモート.txtファイルの 1 行目に到達します。

テキストファイルは次のようなものです。

----My document----
Once upon a time, there was a fat princess...

この問題を解決するにはどうすればよいですか?

4

3 に答える 3

4

私の提案は、curl を使用してファイルの内容を取得する php ファイルを作成することです。

//getFile.php
<?php
    if(isset($_GET['filename'])) {
        $fName = $_GET['filename'];

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $fName);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        $text = curl_exec($ch);
        echo $text;
    }
?>

jQuery の場合:

$.ajax({
    url : './getFile.php',
    data : { filename : 'http://example.com/file.txt'},
    success : function (r) { console.log(r) //your data }
})
于 2013-09-06T17:29:03.653 に答える
2

It seems to me you wouldn't need to mess around as much if you used CORS instead of jsonp.

In PHP it seems to be as easy as adding something like this on the server side:

header("Access-Control-Allow-Origin: *");

Here is one last resource, for getting CORS working.

于 2013-09-06T17:35:49.130 に答える
1

json オブジェクトを返さないため、dataType を text に変更する必要があります。

$.ajax({  
   url: "http://example.com/file.txt",  
   dataType: "text",  
   success: function(data) { remoteFile = data; }  
});  
于 2013-09-06T17:11:58.930 に答える