2016-07-30 68 views
-4

我试图通过让ajax调用一个php脚本来保存来自javascript的txt文件。回调是成功的,但是PHP没有被执行。另外,在终端中运行php脚本将创建我的txt文件。所以不知怎的,这个调用并没有被执行?我究竟做错了什么?php在ajax调用后不执行

的JavaScript:

var data = "test" 
$.ajax({ 
    url: 'http://localhost/saver.php', 
    type: 'POST', 
    data: { data: data }, 
    success: function(result) { 
     alert(result);}, 
    error: function(result) { 
     alert('ERROR');} 
     }); 

PHP脚本:

<?php 

$data = $_POST['data']; 
$fp = fopen('path/hs2.txt', 'w'); 
fwrite($fp, $data); 
fclose($fp); 

?> 
+0

你可以添加'console.log(result)'来检查吗? – FirstOne

+0

你能告诉我文件结构吗?并且这两个文件(具有ajax和最终php文件的文件)是哪里? – Akshay

+1

@FirstOne:它显示了php脚本 – Ansjovis86

回答

1

这是在fopen(...)的路径问题。将其更改为:

$fp = fopen('hs2.txt', 'w'); 

fopen()无法在不存在的文件夹中创建文件。您正尝试在不存在的嵌套文件夹中创建文件。

+0

不,看起来不是问题 – Ansjovis86

+0

你测试过了,不起作用?对我来说,它工作正常。我不明白。 –

+0

@ Ansjovis86你说这些文件在同一个文件夹中,那么为什么你使用''path/saver.php''? – j08691