Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从远程服务器加载.txt文件_Javascript_Jquery_Jsonp - Fatal编程技术网

Javascript 从远程服务器加载.txt文件

Javascript 从远程服务器加载.txt文件,javascript,jquery,jsonp,Javascript,Jquery,Jsonp,我试图从另一台服务器上运行的javascript获取存储在我的一台服务器上的.txt文件的内容 我正在使用: $.ajax({ url: "http://example.com/file.txt", dataType: "jsonp", success: function(data) { remoteFile = data; } }); 但我在远程.txt文件的第1行得到了未捕获的SyntaxError:Unexpected identifier 文

我试图从另一台服务器上运行的javascript获取存储在我的一台服务器上的
.txt
文件的内容

我正在使用:

$.ajax({  
    url: "http://example.com/file.txt",  
    dataType: "jsonp",  
    success: function(data) { remoteFile = data; }  
});  
但我在远程
.txt
文件的第1行得到了
未捕获的SyntaxError:Unexpected identifier

文本文件类似于:

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

如何解决此问题?

因为您没有返回json对象,所以应该将数据类型更改为文本

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

我的建议是创建一个使用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;
    }
?>

在我看来,如果你用的话,你就不需要到处乱搞了

在PHP中,只需在服务器端添加如下内容即可:

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

这是最后一个资源。

您的文件不是json。如果是跨域请求,则必须在服务器端对其进行代理。请尝试将数据类型更改为“文本”“file.txt”不是json。@JonLaMarr但会出现跨域错误fired@A.Wolff确切地说,我需要JSONP用于跨源..@user2070518,但文本文件不是json有效的,因此,代理它服务器端
text
不允许跨源域请求这是浏览器的安全功能。不幸的是,没办法。如果要使用json,您需要将该文件更改为json文件,您需要使用服务器端脚本(如PHP)获取该文件。@user2070518是的,如果您将其包含在一个PHP文档中,该文档还添加了jsonp回调。我只能在接收服务器上使用JS
header("Access-Control-Allow-Origin: *");