这里是我的代码:为什么JS打开一个txt文件而不是下载它?
服务器端:
public function export(){
$arr = array();
if($_POST["type"] == "save"){
$name = "export.txt";
file_put_contents("$name",$_POST["text"]);
$arr["type"] = "link";
$arr["url"] = "http://localhost:8000/{$name}";
}
return $arr;
}
客户端:
$(document).on('click', '#export', function() {
var names = ["سعید خرمی", "فرید هادوی"];
var namess = names.join('\n');
$.ajax({
type: "post",
url: "/export",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: {
type: "save",
text: namess
},
dataType: "json",
success: function(data){
var href = data.url;
window.location = href;
}
});
})
当我点击#export
(按钮),它会打开.txt
文件(而不是下载它)。事情是这样的:
注意到我使用Chrome。也不会在其他浏览器。
我该如何强制它下载那个.txt
文件?
您应该使用PHP和发力下载标题。如果您直接重定向到文件URL,并且浏览器支持要显示的文件类型,则它将显示输出而不是下载。 –
浏览器显示的所有内容均已下载。 – nnnnnn
@nnnnnn但我需要一个'.txt'文件.. – stack