【发布时间】:2012-08-23 17:59:54
【问题描述】:
我有一个可编辑的 iframe,可用作博客的帖子输入。 我正在使用 jQuery 从 iframe 的正文中检索 html:
function sharePost (feedNumber)
{
var postBox = $("#ifrNewPost" + feedNumber).contents(); // Gets iframe content
var postContent = $('body', postBox).html(); // Gets iframe body
var params = { post: encodeURI(postContent) };
// Send to server
$.ajax({
type:'POST',
url: 'script/post.php',
data: params,
success: function(response) {
$(document).append(response);
}
});
}
几乎可以完美运行,我的问题是,当我将某些内容粘贴到 iframe 中时,似乎在我粘贴的开头添加了一个换行符,然后在提交时,脚本失败: "Uncaught SyntaxError: Unexpected token ILLEGAL"
我尝试了 encodeURI 和 encodeURIComponent 都无济于事。当我在粘贴后查看页面的代码时,我粘贴的内容没有明显的变化,它似乎只是在它之前添加了一个新行。关于如何将 HTML 安全地发送到我的 php 脚本的任何解决方案?
【问题讨论】:
-
我认为
$('body', postBox).html();无效。 -
您使用的是哪个浏览器? Chrome 通常会更详细地说明错误的位置。
-
Chrome 说 jquery.js:614 所以它一定是 html 中的某些东西导致了错误。如果我不粘贴,数据是通过罚款发送的,你有更可靠的方式来获取body数据吗?
-
哦,如果我使用 .text() 得到它,它会做同样的事情
-
您正在尝试通过 jQuery 获取 iframe 的内容?
标签: php javascript jquery ajax