gpt4 book ai didi

php - 通过 jQuery ajax 发送的内容被截断

转载 作者:太空宇宙 更新时间:2023-11-04 13:39:37 25 4
gpt4 key购买 nike

我试图通过 jQuery 的 $.ajax() 方法发送 html,然后将 html 转储到一个新的 .html 文件中,但由于某种原因内容被截断了。

我已经设置了一个测试用例:

<html>

<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script >
$(document).ready(function(){
var contents = $('html').html();
var filename = "test/000.html";
$.ajax({
type: "POST",
url: "/file.php",
data: "content="+contents+"&fn="+filename,
dataType: "html",
success: function(msg, ts, xh){
console.log(msg);
console.log(ts);
console.log(xh);
alert("success");
},
processData: false,
error: function(X, textStatus, error){
alert("Error saving... please try again now.")
}
});
});
</script>


</head>

<body>

<div id="rteContainer" class="dev">
<div id="textEditor">
<form>
<textarea name="balh" id="balh" rows="25" cols="103"></textarea>
<input type="button" id="updateContent" value="Update Changes">
<input type="button" id="closeEditor" value="Close Without Saving">
</form>
</div>
</div>

</body>
</html>

file.php 文件是:

<?php
header("Content-type:text/html;charset:UTF-8");
$content = "<html>".stripslashes(urldecode($_POST["content"]))."</html>";
$dump_file = $_POST["fn"];
$fp = fopen($dump_file, 'w');
fclose($fp);
echo $content;
?>

为什么会被切断?我猜这是编码问题,但我想不通。

最佳答案

html 字符串contents 在您POST 之前必须进行url 编码。 Javascript 提供了 escape() 函数,就是为了这个目的。

$('html').html() 传递给 escape() 并将其分配给 contents,如下所示:

var contents = escape($('html').html());

关于php - 通过 jQuery ajax 发送的内容被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4318033/

25 4 0
文章推荐: php - 我发现的所有这些奇怪的代码是什么?
文章推荐: javascript - 使用 JavaScript 显示另一个 div 时隐藏一个 div
文章推荐: c++ - 为什么这个范围会爆炸
文章推荐: javascript - 无论如何要将 <title> 链接到
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com