jquery ajax 无法传递 “>>”?

mingfish 2010-01-04 09:52:57
如果html中带有 “>>”,则“>>”以及后面的所有代码被清空,请问为什么,怎样解决?

例子如下:
localhost下有以下2个文件:
test.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>test page</title>
<script type="text/javascript" src="http://localhost/leb/auto/js/jquery-latest.js"></script>
<script type="text/javascript">
$(function(){
var html= $(".page")[0].innerHTML;
$.ajax({
cache : false,
type : "POST",
url : "file.php",
data : "html="+html,
dateType : "text"
});
});
</script>
</head>
<body>
<div class="page">
<span>more>></span>
<div>other infos</div>
</div>
</body>
</html>


file.php 文件:

<?php
$html=$_POST['html'];
$file=fopen('result.html','w');
fwrite($file,$html);
fclose(file);
?>


打开test.html,jquery的ajax通过file.php生成的result.html中的代码只有

<span>more

后面的全没了,为什么会这样?怎么解决?
...全文
81 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mingfish 2010-01-05
  • 打赏
  • 举报
回复
貌似可以解决了,
http://bbs.phpchina.com/thread-170942-1-1.html
江南昆虫 2010-01-05
  • 打赏
  • 举报
回复
超文本中的“>”规范的写法本来就应该是“>”,
你如果一定要直接用>的话可以在php中$html = str_replace('>','>',$html);
mingfish 2010-01-05
  • 打赏
  • 举报
回复
没用啊!
江南昆虫 2010-01-05
  • 打赏
  • 举报
回复
            data        :    "html="+encodeURIComponent(html),
mingfish 2010-01-04
  • 打赏
  • 举报
回复
这样做太牵强了,如果我要获取别人的html,内容不定,那就行不通啦。
tony-杨 2010-01-04
  • 打赏
  • 举报
回复

$(function(){
$.ajax({
cache : false,
type : "POST",
url : "file.php",
data : {html:$(".page:eq(0)").html()},//如果只有一个.page可以去掉:eq(0)
dateType : "text"
});
});
这样试试呢?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧