gpt4 book ai didi

php - 使用 javascript 在 php 中保留 html post 数据

转载 作者:行者123 更新时间:2023-12-01 07:26:49 26 4
gpt4 key购买 nike

我正在编写一个 PHP 脚本,它需要一些 C 代码并根据一些测试用例对其进行测试。但由于源代码可以包含单引号和双引号以及斜杠,因此我的脚本在通过文本区域传递时无法获取完整数据。我正在使用 jQuery 的 .ajax 方法发布

当我尝试时,发生了以下情况

$code_string = $_POST['code'];
echo $code_string;

输入是

int a,b;
scanf("%d%d",&a,&b);
printf("%d",a+b);

发布数据的 jQuery 代码是

  $('#submitButton').click(
function(evt){
userCode = $('#answer').val();
$.ajax({
type : 'POST',
url : 'scripts/php/check_answer.php',
data : 'code=' + escape( userCode ),
dataType : 'text',
success : populateResponseToQuestion
});

evt.preventDefault;
});

输出是

int a,b;
scanf("%d%d",&a,&b);
printf("%d",a b);

我希望能够将数据传递给 php,而不需要删除任何内容。在这种情况下,+ 符号会丢失。随着代码的增加,我意识到更多的东西会丢失或修改。

最佳答案

您的帖子数据会被保留,但如果您希望它在 HTML 文档中正确显示,您必须使用 <br>对于新行,所以函数 nl2br 会有帮助的。您还应该使用 htmlspecialchars 或之前提到的 htmlentities 避免使用 < 发布代码时出现问题字符(可以解释为开始 HTML 标记)。

[+]

至于JavaScript部分,你做错了。要么使用encodeURIComponent()而不是escape()或将对象传递给$.ajax :

$.ajax({
type : 'POST',
url : 'scripts/php/check_answer.php',
data : { "code" : userCode },
dataType : 'text',
success : populateResponseToQuestion
});

这样 jQuery 就会为你处理它。

关于php - 使用 javascript 在 php 中保留 html post 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8962938/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com