我正在使用Cl编辑器在Cms上工作,每次我通过ajax提交数据我都遇到了问题。
让我说我在我的wysiwyg编辑器中写了10行,但我只收到了3或4的php,在firebug中进行了一些调试之后我注意到的是我通过ajax发送的html包含了一个类“Apple-converted- space“<span class="Apple-converted-space"> </span>
我能够在此跨度之前获取所有内容,但缺少此跨度之后的文本。我不知道它是什么。让我编写代码以便更好地理解。
获取承保人数据
var data = $(".cleditorMain iframe").contents().find('body').html();
Ajax表单提交
if(window.XMLHttpRequest)
{
xmlhttp = new window.XMLHttpRequest();
}
else
{
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState == '4' && xmlhttp.status == '200')
{
}
}
parameters = 'data=' + data
xmlhttp.open('POST', 'libs/make_procedure.php', true);
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xmlhttp.send(parameters);
return true;
我也试过jquery ajax方法..那里存在同样的问题,所以请不要让我用其他方式通过ajax提交数据。
由于
答案 0 :(得分:1)
您可能需要检查是否是无法发送正确数据的javascript或无法接收正确数据的后端。
首先,您应该通过编写警报(数据)来调试javascript;在您从该cieditor控件获取数据后立即声明,并看看您到达那里。使用Firefox,您也可以使用警告框中的鼠标指针复制html。 (这在IE中是不可能的)
您还应该检查cieditor规范,看看是否有更简单的方法来获取javascript中的数据。
您可能还想考虑使用CKEditor。
答案 1 :(得分:0)
您正在发布数据而不转义数据内容。自从&amp;是一个帖子中不同字段的分隔符,数据将只包含部分直到第一个&amp ;.使用encodeURIComponent来转义数据值。
更改行
parameters ='data ='+ data
到
parameters ='data ='+ encodeURIComponent(data);
另请参阅:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURIComponent