关于PJAX这个插件用于html的问题

zwj2613905 2014-08-23 02:49:54
RT

网上下载了一个DEMO,里面的aspx的页面可以正常无刷新跳转,我想做一个html的无刷新跳转。但是用于html的callback status.type='error'; 页面直接走的原生的A标签跳转刷新了。
我进源码jquery.pjax.js打alert。发现在

这里alert后就进入if ((data || '').indexOf('<html') != -1) { 这个if里了 。我再看aspx页面是不进的,aspx页面这个alert是


而我测试用的静态页面html alert出来的是



Demo链接 0分
http://download.csdn.net/detail/zwj2613905/7806733








我写的demo html的 pjax返回error
1.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="jquery.pjax2.js" type="text/javascript"></script>
<script>

$(function () {
$.pjax({
selector: 'a',
container: '#cont', //内容替换的容器
show: 'fade', //展现的动画,支持默认和fade, 可以自定义动画方式,这里为自定义的function即可。
cache: false, //是否使用缓存
storage: false, //是否使用本地存储
titleSuffix: '', //标题后缀
fitler: function (href) {
},
callback: function (status) {
var type = status.type;

switch (type) {
case 'success':; break; //正常
case 'cache':; break; //读取缓存
case 'error':; break; //发生异常
case 'hash':; break; //只是hash变化
}
}
});
$('#loading').hide();
$('#container').bind('pjax.start', function () {
$('#loading').show();
})
$('#container').bind('pjax.end', function () {
$('#loading').hide();
})
})

</script>
</head>
<body>
<div>
<br />
<h1>异步我不变,刷新页面我会变AAAAAAAAAA</h1>
<div id="cont" style="border: 1px solid red;">
<a href="2.html" title="abc">bbb</a>

<br />
<br />
<br />
<br />
异步,刷新我都变AAAAAAAAAAAA
</div>
<div id="loading">pjax异步加载中....</div>
</div>
</body>
</html>


2.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="jquery.pjax2.js" type="text/javascript"></script>
<script>
function A(id) {
if (typeof id == "string") {
return document.getElementById(id);
}
else if (typeof id == "object") {
return id;
}
}
$(function () {
$.pjax({
selector: 'a',
container: '#container', //内容替换的容器
show: 'fade', //展现的动画,支持默认和fade, 可以自定义动画方式,这里为自定义的function即可。
cache: false, //是否使用缓存
storage: true, //是否使用本地存储
titleSuffix: '', //标题后缀
fitler: function (href) {
},
callback: function (status) {
var type = status.type;
switch (type) {
case 'success':; break; //正常
case 'cache':; break; //读取缓存
case 'error':; break; //发生异常
case 'hash':; break; //只是hash变化
}
}
});
$('#loading').hide();
$('#container').bind('pjax.start', function () {
$('#loading').show();
})
$('#container').bind('pjax.end', function () {
$('#loading').hide();
})
})
</script>
</head>
<body>
<form id="form1">
<div id="container" style="border: 1px solid red;">
这里是2.html DIV :container的内容
</div>
</form>
</body>
</html>



求大神帮忙看下 不怎么玩csdn 没分 抱歉啊
...全文
1000 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35658251 2016-11-04
  • 打赏
  • 举报
回复
最后解决了吗
北若西 2016-03-27
  • 打赏
  • 举报
回复
大神你解决了吗
qq48117650 2014-08-29
  • 打赏
  • 举报
回复
有2个pjax的js文件 一个是英文的 一个是中文的 用那个英文的 就可以支持html了
xuzuning 2014-08-23
  • 打赏
  • 举报
回复
是的,必须有服务端脚本支持
zwj2613905 2014-08-23
  • 打赏
  • 举报
回复
引用 2 楼 qq48117650 的回复:
html的我知道,就是aspx的我弄的时候 content里面老清空
请问 ,你的html怎么写的啊 代码能贴一下吧,急~
zwj2613905 2014-08-23
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
看不清你的使用方法 但有一点是确定的:html 文件时不行的 因为需要在服务端依据头部的 X-PJAX 信息来决定返回什么内容
难怪aspx的头部有个Inherits="pjax_aaaa" 如果要用在html上的话 估计还是得写jquery.load了
xuzuning 2014-08-23
  • 打赏
  • 举报
回复
看不清你的使用方法 但有一点是确定的:html 文件时不行的 因为需要在服务端依据头部的 X-PJAX 信息来决定返回什么内容
qq48117650 2014-08-23
  • 打赏
  • 举报
回复
html的我知道,就是aspx的我弄的时候 content里面老清空
zwj2613905 2014-08-23
  • 打赏
  • 举报
回复
自顶下 来人哇

52,792

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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