0
我目前正在使用JQuery BBQ Js插件來爲我的網站進行Ajax化導航,當我用ajax瀏覽整個站點時,有一個鏈接會告訴我這個錯誤。JQuery Ajax未捕獲類型對象的錯誤
這是我的標記
<ul>
<li><a id="thankyou" href="#views/thankyou.jsp">Ajaxified Thank You Message</a></li>
<li><a id="register" href="#views/ajaxvalidation.jsp">Ajaxified Register Register</a></li>
<li><a id="register" href="#views/othermessage.jsp">Ajaxified Other Message</a></li>
</ul>
所有這些兩個鏈接都工作,但是當我點擊第二個鏈接,並提交該錯誤顯示出來的形式,當我點擊了其他錨標記。
Uncaught TypeError: Object function (e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")} has no method 'fragment'
這個錯誤是由這個腳本triggerd。
$(function(){
var cache = {
'': $('.bbq-default')
};
$(window).bind('hashchange', function(e) {
var url = $.param.fragment();
$('a.bbq-current').removeClass('bbq-current');
$('.bbq-content').children(':visible').hide();
url && $('a[href="#' + url + '"]').addClass('bbq-current');
if (cache[ url ]) {
cache[ url ].show();
} else {
// Show "loading" content while AJAX content loads.
$('.bbq-loading').show();
// Create container for this url's content and store a reference to it in
// the cache.
cache[ url ] = $('<div class="bbq-item"/>')
.appendTo('.bbq-content')
.load(url +"#content");//loads the content and get the div you want
}
})
$(window).trigger('hashchange');
});
具體該行
var url = $.param.fragment();
是什麼造成的錯誤?
而且這是第二個環節是什麼樣子..
<!DOCTYPE HTML>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('#content').on('submit','#result',function(e){
e.preventDefault();
var data = $(this).serialize();
$.ajax({
//this is the php file that processes the data and send mail
url: "register.action",
type: "POST",
data: data,
//Do not cache the page
cache: false,
//success
success: function (html) {
$('#content').html(html);
}
});
})
})
</script>
</head>
<body>
<h3>Simple Ajax Validation.</h3>
<div id="divErrors"></div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div id = "content">
<s:form action="register" id="result">
<label>UserName</label>
<s:textfield name="userBean.username" />
<s:fielderror />
<input type ="submit" id = "result_0" value="AJAX Submit" />
<!-- Test if Even Outside the main page can access the other elements -->
</s:form>
</div>
</body>
</html>
我從來沒有見過這種構造:''':$('.bbq-default')' - 我現在看到[這裏]的評論(http://benalman.com/code/projects/jquery-bbq/examples/fragment-advanced/)'/ /如果url是''(沒有片段),顯示這個div的內容。' – mplungjan
我只是跟着那個m jquery bbq的文檔。 – user962206