Javascript 创建.vcf文件。[菲律宾]

Javascript 创建.vcf文件。[菲律宾],javascript,php,Javascript,Php,我使用Cordova从手机访问联系人,然后以如下字符串形式创建联系人 BEGIN:VCARD VERSION:3.0 FN:John Doe N:John Doe ;;;; TEL;TYPE=mobile:34458777452 NOTE: NICKNAME: END:VCARD $data = $_POST['data']; $myfile = fopen('demo.vcf', "w"); fwrite($myfile, $data); fclose($myfile);

我使用
Cordova
从手机访问联系人,然后以如下字符串形式创建联系人

BEGIN:VCARD
VERSION:3.0
FN:John Doe
N:John Doe ;;;;
TEL;TYPE=mobile:34458777452
NOTE:
NICKNAME:
END:VCARD
$data = $_POST['data'];
$myfile = fopen('demo.vcf', "w");
fwrite($myfile, $data);
fclose($myfile);
生成字符串后,我用PHP发送数据以保存vCard。以“*.vcf”形式。 但当我使用
诺基亚PC套件
打开该文件时,它会显示如下图

这是我的示例代码
第一个javascript部分

$(function(){
        var vcfData = 'BEGIN:VCARD';
        vcfData += '\n';
        vcfData += 'VERSION:3.0';
        vcfData += '\n';
        vcfData += 'FN:John Doe';
        vcfData += '\n';
        vcfData += 'N:John Doe ;;;;';
        vcfData += '\n';
        vcfData += 'TEL;TYPE=mobile:34458777452';
        vcfData += '\n';
        vcfData += 'NOTE:';
        vcfData += '\n';
        vcfData += 'NICKNAME:';
        vcfData += '\n';
        vcfData += 'END:VCARD';
        console.log(vcfData);
        var params = {
            data:vcfData
        }
        var sUrl = 'test.php';
        $.ajax({
            url:sUrl,
            method:'POST',
            data:params,
            success:function(result){
                console.log(result);
            }
        });
    });
在php中,我创建了这样一个文件

BEGIN:VCARD
VERSION:3.0
FN:John Doe
N:John Doe ;;;;
TEL;TYPE=mobile:34458777452
NOTE:
NICKNAME:
END:VCARD
$data = $_POST['data'];
$myfile = fopen('demo.vcf', "w");
fwrite($myfile, $data);
fclose($myfile);
注意
我不想使用任何php类来生成vcf文件(如果可能)

根据第二条,您需要使用
\n
结束vcf,我添加了这个
vcfData+='\n'在结尾处,但出现相同的错误。请尝试将所有\r\n替换为\r\n,如该答案所示,谢谢它现在起作用了。