使用Ajax時[object%20object] 報錯的解決方案


踩坑經過

最近初學Ajax,當我想把Ajax應用到自己項目中的時候,沒有達到理想的效果,還報了如下錯誤:

點擊圖中報錯,產生報錯頁面如下:

當時寫的Ajax如下:

// 提交修改密碼表單
$("#changePasseword").click(function(){
	$.post({
		url: "${pageContext.request.contextPath }/ChangePasswordServlet",
		data:$("#changePasswordForm").serialize(),
		success:function(data){
			if(data=="修改成功"){
				alert("修改成功"); 
				$("#mainFrame").load("login.jsp");
			}else if(data=="用戶未登錄"){
				alert("用戶未登錄");
				$("#mainFrame").load("login.jsp");
			}else{ alert("修改失敗"); }
		}
	});
});

上面寫的內容也很簡單,就是用jQuery中Ajax的post方法去提交修改密碼的表單。按照語法來說,我寫的語法並沒有問題。在查了jQuery的api文檔后,我怕決定改用向后台發送請求通用的$.ajax代替$.post,然后增加type屬性,type="post"。然后問題就解決了。

解決辦法:

1、用$.ajax代替$.post,增加type屬性,type="post"

上面的代碼,修改過后如下:

// 提交修改密碼表單
$("#changePasseword").click(function(){
	$.ajax({
		type: "post",
		url: "${pageContext.request.contextPath }/ChangePasswordServlet",
		data:$("#changePasswordForm").serialize(),
		success:function(data){
			if(data=="修改成功"){
				alert("修改成功"); 
				$("#mainFrame").load("login.jsp");
			}else if(data=="用戶未登錄"){
				alert("用戶未登錄");
				$("#mainFrame").load("login.jsp");
			}else{ alert("修改失敗"); }
		}
	});
});

2、在我百度查看別人的博客時,發現了一個老哥的博客中還提到了jQuery版本過低的情況,這老哥的博客原文連接:(https://www.cnblogs.com/jinghun/p/6669623.html),我使用的jQuery版本是1.11.3,若不能解決,可以嘗試使用新版本的jQuery


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM