我多次尝试存储以下js代码,但是它被破坏了并且db没有完全存储它,尽管我试图存储一个没有功能的js代码,或者任何其他代码代码就像一个PHP代码... java代码,它存储正常
我使用mysqli_real_escape_string,准备stmt,htmlentities ...........和所有方法,但什么都没发生
<script type="text/javascript">
function youtubeFeedCallback(json){
document.write('<img src="' + json.data.thumbnail.sqDefault + '">');
}
</script>
<script type="text/javascript" src="http://gdata.youtube.com/feeds/api/videos/gzDS-Kfd5XQ?v=2&alt=jsonc&callback=youtubeFeedCallback"></script>
代码存储在db中,如下所示:
<script type="text/javascript"><br />
function youtubeFeedCallback(json){<br />
document.write('<img src="' json.data.thumbnail.sqDefault '">');<br />
}<br />
</script><br />
<script type="text/javascript" src="http://gdata.youtube.com/feeds/api/videos/gzDS-Kfd5XQ?v=2
使用ajax函数添加数据的js代码
$(document).ready(function(){
$("#submit").click(function() {
var ans_body = escape($("#ans_body").val());
var q_id = $("#q_id").val();
var dataString = 'ans_body=' + ans_body + '&q_id=' + q_id;
if(ans_body=='')
{
alert('برجاء كتابة الاجابة صحيحة');
}
else
{
$("#flash").show();
$("#flash").fadeIn(400).html('<img src="loader.gif" align="absmiddle"> <span class="loading">Loading answers...</span>');
$.ajax({
type: "POST",
url: "includes/submit_comment.php",
contentType: "application/x-www-form-urlencoded;charset=utf-8",
data: dataString,
cache: false,
success: function(html){
$("ol#update").append(html);
$("ol#update li:last").fadeIn("slow");
document.getElementById('ans_body').value='';
$("#ans_body").focus();
$("#flash").hide();
}
});
}
return false;
});
})
答案 0 :(得分:0)
看起来代码被截断,DB字段是否足以存储整个函数?对于<
>
,"
和<br />
事物,这些只是html实体,当您提取函数时,您可以将它们切换为等效的代码( &lt;,&gt;,&#34;,换行符)
答案 1 :(得分:0)
我解决了它
问题在于ajax函数需要在发送请求之前将特殊字符作为html代码转义 所以要解决这个问题 使用ajax函数发送数据时使用转义函数
var ans_body = escape($("#ans_body").val());