通过AJAX将HTML发送到服务器端PHP
我正在尝试将表单中的HTML发送到服务器端脚本,以便将其保存在数据库中。我发送的是一个查询字符串,每当HTML包含逗号或符号之类的字符时,HTML的其余部分就会被截断通过AJAX将HTML发送到服务器端PHP,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,我正在尝试将表单中的HTML发送到服务器端脚本,以便将其保存在数据库中。我发送的是一个查询字符串,每当HTML包含逗号或符号之类的字符时,HTML的其余部分就会被截断 提前谢谢 发送请求时,应正确地对参数进行URL编码: $.ajax({ url: 'foo.php', data: { html: '<html>You can use whatever characters you want here</html>' }, type: 'GET',
提前谢谢 发送请求时,应正确地对参数进行URL编码:
$.ajax({
url: 'foo.php',
data: { html: '<html>You can use whatever characters you want here</html>' },
type: 'GET',
success: function(result) {
}
});
现在,您可以安全地读取PHP脚本中的html
变量:$。获取[“html”]
我想现在您的代码看起来是这样的:
$.ajax({
url: 'foo.php?html=' + $('#someTextField').val(),
type: 'GET',
success: function(result) {
}
});
我建议您永远不要使用字符串连接,而是始终使用
数据
哈希。正如Darin Dimitrov所说,它需要进行URL编码。我使用这些函数在javascript中进行编码和解码
function urlencode(str) {
return escape(str).replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40');
}
function urldecode(str) {
return unescape(str.replace(/\+/g, ' '));
}
我相信是从phpbuilder上的一篇文章中得来的。是数据html是保留的关键字,如果你提到as html,它会处理这些类型问题吗…@gov,no
html
不是保留字。你可以用任何你喜欢的名字。重要的部分是使用数据
散列。我总是以查询字符串的形式传递,这就是为什么我要问,我们在上面的代码中在哪里使用了散列,我只是为了学习,不是吗mind@gov,则$方法的数据
参数是散列(键/值对)@DarinDimitrov如果我不想使用php我想使用asp.net怎么做。哇。丑陋的车轮改造。当有和的时候,你到底为什么要使用这样的函数呢。滚动自己的编码函数很少是件好事。哇,显然我需要更新我的代码。谢谢你的通知。
function urlencode(str) {
return escape(str).replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40');
}
function urldecode(str) {
return unescape(str.replace(/\+/g, ' '));
}