为了账号安全,请及时绑定邮箱和手机立即绑定

如何将文件保存到由输入类型=“文本”与php给出的目录中?

如何将文件保存到由输入类型=“文本”与php给出的目录中?

PHP
德玛西亚99 2022-09-25 20:49:31
我有一个带有jQuery的html页面,我使用ajax将数据发送到php文件以保存数据。我见过其他类似的问题,但似乎都不符合我的目的。数据是一个帧的语义。我的网页看起来像这样:<iframe srcdoc="<h1>hello</h1>" id="iframe"></iframe><br /><input type="text" placeholder="Filename to save as..." id="fn"><input type="button" value="Save" onclick="saveDoc(document.querySelector('#fn').value)">我的 j 查询和 JS 看起来像这样:function saveDoc(e) {  let iframe = document.querySelector("#iframe");  let data = {"srcdoc": iframe.srcdoc, "lnk": e};  $.ajax({    type: "POST",    url: "saver.php",    dataType : "text",    contentType: "application/json",    data: data,    cache: false,    timeout: 3000,    success: function (data) {        alert("SUCCESS");        console.log(data);    },    error: function (e) {        alert(e);    }  });}我的php代码看起来像这样:<!doctype html><html><body><?php  if (isset($_POST["lnk"]) && isset($_POST["srcdoc"])) {    $myfile = fopen($_POST["link"], "w");    fwrite($myfile, $_POST["srcdoc"]);    fclose($myfile);    echo $_POST["lnk"];    echo "\n <br/>";    echo $_POST["srcdoc"];  } else {    echo "Error";  }?></body></html>当我运行它时,我收到一条警告消息,说“成功”。控制台.log给了我:<!doctype html><html><body>Error</body></html>这里发生了什么,我做错了什么?
查看完整描述

1 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

contentType: "application/json"

您以 JSON 形式显式地将其发送到服务器 - 因此您无法通过 $_POST 访问它(PHP 仅填充内容类型或 的 $_POST)。application/x-www-form-urlencodedmultipart/form-data

要么删除 ,以便它可以回退到发送表单数据的正常方式,要么继续阅读如何在PHP中实际读取POSTed JSON数据。(这将涉及首先读取数据,请参阅使用PHP接收JSON POSTcontentTypephp://input)


查看完整回答
反对 回复 2022-09-25
  • 1 回答
  • 0 关注
  • 104 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号