【问题标题】:Can't receive data, ajax, javascript, jquery, php无法接收数据,ajax,javascript,jquery,php
【发布时间】:2014-11-24 19:34:50
【问题描述】:

我正在尝试发送从 jquery 调用中获得的数据,现在我想使用 php 将其保存到服务器上的文件中。

function getSVG(){
   svghead = svghead + $('#test').html();

   $.ajax({
            type:"POST",
            data: svghead,
            url: "xyz.php",
             success:function(data){
                 .....
            }
        });
    }

在 php 中我的代码是:

<?php
   header('Content-Type: text/html; charset=utf-8'); 

   $data = $_POST['data'];

   $myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
   fwrite($myfile, $data);
   fclose($myfile);
?>

但创建的文件从不包含任何值。它只是空的。据我测试,我想这只是一个语法错误,但哪里或哪里出了问题?感谢您的帮助

【问题讨论】:

  • 查看浏览器的开发者工具。查看 JavaScript 控制台。它是否报告任何错误?查看“网络”选项卡。是否正在提出请求?它得到回应了吗?它们是否包含您期望的数据?您的服务器的错误日志说明了什么?
  • 你如何告诉 PHP 有一个 data 参数发布?在您的 ajax 调用中尝试 data: { data: svghead }
  • 我正在用 xampp 进行模拟,firebug 没有显示任何错误。该文件已成功创建,但它只是空的
  • 感谢@DontVoteMeDown,辛苦了
  • @DominikZinser 不错!添加了答案。

标签: javascript php jquery ajax xmlhttprequest


【解决方案1】:

您需要指定参数名称以便 PHP 识别它:

data: {
    data: svghead
}

使用上面的对象,您将发送一个 data 参数,其值等于您的 svghead 变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    相关资源
    最近更新 更多