我有一个带有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>
这里发生了什么,我做错了什么?
Smart猫小萌