- 编辑 -
使用JSON dataType解决。
- 问题 -
您好,
我正在尝试将iframe视频嵌入代码发送到db。我终于找到了javascipt的escape()命令,如果我只发送嵌入脚本,它就可以了。后来,我尝试在一些文本之后添加嵌入代码,它既没有在ajax或mysql上给出错误也没有添加帖子。
这是什么问题?你有另一种解决方案来发送没有损坏的嵌入代码而不是javascript的escape()吗?我可以用php做点什么吗?
谢谢,
我从var content = escape($('#textarea').html());
的页面获取内容并使用ajax发送。如果我使用JSON类型,它会发送而不会损坏吗?
示例iframe:
<iframe title="YouTube video player" width="540" height="435" src="http://www.youtube.com/embed/8ImAG94lSOE?rel=0&hd=1" frameborder="0" allowfullscreen></iframe>
答案 0 :(得分:1)
使用JSON dataType解决。
答案 1 :(得分:0)
问题确实可能是由一个特殊字符引起的,我对JavaScript的转义命令并不太熟悉,但我知道你可以用php做什么,确保你的数据通过Ajax请求并尝试使用htmlentities($ string)将每个HTML标记转换为其编码版本,这样您就可以将其存储在数据库中。
此外,在您的Ajax请求中确保使用您的字符串的每一步,尝试使用警报来显示您的字符串正在通过或者它至少被发送到php文件,在php文件中您可以尝试打印或“回显”字符串以查看最终结果,然后在Ajax请求中提醒它,这是jQuery中的一个小例子:
$.post("ajax/edit.php", {id_poll:$('#idPoll').val(),id_css:$('#css_name').val(),css:$('#poll_description_textarea').val()},
function(applyData){
if ( applyData.toString() == 'invalid' ){
$('#pollError').html('Global styles cannot be modified.');
$('#pollNotice').html('');
}
else{
$('#pollNotice').html('The changes to the style have been applied.');
}
});
在前面的例子中,我发出了一个Ajax请求,我从文本框中发送CSS类,在php文件中我验证了某些数据,如果出现问题,我会返回一个简单的字符串“invalid”或“valid”to确定结果,在这样的请求中你可以抛出一两个警告来验证你的字符串是否被发送,因为很难在你的JavaScript中看到错误。
这可能不太具体,但我希望它有所帮助。