Ⅰ 前端需要java後端傳多個對象數據怎麼傳
很多時候前端需要傳遞多個不同類型對象到後台,這時可以將所有需上傳的對象保存在一個數組里,之後向後台上傳數組即可。
Ⅱ 前端怎麼接收別人調用到的介面數據
ajax,想要接收數據,那麼你需要先請求數據,一般使用Ajax。
你的開發文檔上面會詳細寫明,前端js請求後端那個介面,傳參類型、格式,然後返回什麼數據類型、格式。
Ⅲ 前端ajax請求出現400錯誤怎麼解決
ajax 出錯,有兩種可能。 發送數據的時候報錯 (URL 不對,參數不對 ) 接收數據的時候報錯(這個錯誤在你即使請求成功了,但是沒有返回值也會報錯)
Ⅳ ajax請求數據並分頁怎麼做
ajax請求後台拿到json類型的數據後,可以在它的success回調方法中進行動態分頁,也就是表格重繪,此時,我們需要得到的數據包括:查詢得到的數據、數據總條數、總頁數、當前頁數,其中前三條可在後台獲取,對於當前頁數,需要從前端獲取點擊頁數再通過請求傳遞給後台,後台做完相應處理後再傳回給前端。
/**
*
* @param page 當前頁
*/
function getData(page){
var schoolid = $("#schoolid option:selected").text();
var apptype = $("#apptype option:selected").text();
var appname = $("#appname").val();
$.ajax({
type : "POST",
url : "pageAjax",
dataType : "json",
data : {'schoolid':schoolid,'apptype':apptype,'page':page,'appname':appname},
success : function(data){
console.log("成功了!"+data);
$("#table").html("");
$(".turn_page").html("");
var str = "<tr><th class='w20'>應用編號</th>"
+"<th class='w15'>學校名稱</th>"
+"<th class='w30'>應用名稱</th>"
+"<th class='w25'>應用分類</th>"
+"<th class='w10'>應用類型</th></tr>";
for(var i=0;i<data.resultList.length;i++){
str += "<tr οnclick='showAppDetail(this);'><td>"+data.resultList[i].appid+"</td><td>"
+data.resultList[i].schoolid+"</td><td>"+data.resultList[i].appname+"</td><td>"
+data.resultList[i].app_departid+"</td><td>"+data.resultList[i].apptype+"</td></tr>";
}
$("#table").html(str); //重繪table
var pageNum = data.pageNum; //獲取得到的數據頁數
var curPage = data.curPage; //獲取當前頁
str = "";
/*若頁數大於1則添加上一頁、下一頁鏈接*/
if(data.pageNum>1){
str = "<ul><li><a href='javascript:void(0);οnclick=preEvent();' id='pre' data-num='1'>上一頁</a></li>"
}else{
str = "<ul>";
}
/*循環輸出每一頁的鏈接*/
for(var i=0;i<data.pageNum;i++){
str += "<li><a href='javascript:void(0);οnclick=getData("+(parseInt(i)+1)+");' data-type='num'>"+(parseInt(i)+1)+"</a></li>";
}
if(str.indexOf("上一頁")>-1){
str += "<li><a href='javascript:void(0);οnclick=nextEvent();' id='next' data-num='1'>下一頁</a></li>"
+"<span>共<span id='pageNum'>"+pageNum+"</span>頁</span></ul>";
}else{
str += "<span>共<span id='pageNum'>"+pageNum+"</span>頁</span></ul>";
}
$(".turn_page").html(str);
//把當前頁碼存到上一頁、下一頁的data-num屬性中,這樣可以在點擊上一頁或者下一頁時知道應該跳到哪頁
$("#pre").attr("data-num",curPage);
$("#next").attr("data-num",curPage);
},
error : function(data){
alert("請求失敗");
}
});
}
/**
* 上一頁點擊事件
*/
function preEvent(){
var curPage = $("#pre").attr("data-num");
if(curPage<=1){
$(this).attr('disabled',"true");
}else{
curPage = parseInt(curPage)-1;
getData(curPage);
}
}
/**
* 下一頁點擊事件
*/
function nextEvent(){
var curPage = $("#next").attr("data-num");
var pageNum = $("#pageNum").text();
if(curPage>=pageNum){
$(this).attr('disabled',"true");
}else{
curPage = parseInt(curPage)+1;
getData(curPage);
}
}
對應的HTML代碼
<div class="table">
<table id="table">
</table>
</div>
<div class="turn_page">
</div>
注意:標簽的href屬性,如href=」javascript:void(0);οnclick=getData();」
要讓原來的點擊事件失去響應,重新給它定義點擊事件,要給它加上javascript:void(0);這句話,若寫的是href=」#」的話,點擊默認會跳到頁面頂部。
另外,ajax請求數據無刷新翻頁是非同步請求,所以標簽的點擊事件要寫在它的屬性里,如上例,若寫在js當中,會造成
頁面還沒載入出來,事件就已經觸發,導致沒有任何響應。
Ⅳ 前端怎麼用ajax實現數據載入
$.ajax({
type:'post',//請求方式
url:'',//填寫你後台給你的介面體質
data:{
json:'xx',
json1:'xx'
},//填寫你後台需要的數據,格式為json
dataType:'json',
success:function(data){//success為成功時候的處理
//data為後台返回的參數
},
error:function(xhr,type){
//請求失敗的處理
}
})
直接把上面這段代碼復制一下 把參數填一下就能請求到了。
Ⅵ 前端用angular 後端用express框架 怎麼使用ajax請求數據
後端的別管,前端用
$scope.getData=function(){
var data={username:'abc',password:'123'}
$http({
method: 'POST',
headers: {'Content-type': "application/json; charset=utf-8"...},
url: url, //這里填介面url,問後端要或者介面文檔上有
data: data, //這里填請求參數,參數格式介面文檔上有
dataType: 'json'
})
}
根據請求參數獲取數據
Ⅶ 前端ajax請求常見的狀態碼以及產生的原因
注:以下狀態碼大部分都是自己項目中遇到的,現記錄方便日後查看。
通常前後端使用ajax交互時,客戶端向伺服器發送請求時,然後伺服器向我們返回狀態碼。 狀態碼就是告訴我們伺服器響應的狀態 ,由3位數字組成,其中第一位數字表示響應類別,響應類別從1到5分為五種 。
表示請求被伺服器正常處理 ,最常見的就是這個
表示請求已成功處理,但是沒有內容返回
也就是返回的響應報文中沒有報文實體
一般用在只是客戶端向伺服器發送信息,而伺服器不用向客戶端返回什麼信息的情況
永久重定向,表示請求的資源已經永久的搬到了其他位置 ,資源已經被分配了新的URI
臨時重定向,表示請求的資源臨時搬到了其他位置 ,請求的資源暫時被配到到了新的URI,和301很像,只不過資源是臨時移動
表示請求資源存在另一個URI,應使用GET定向獲取請求資源
303功能與302一樣,區別只是303明確客戶端應該使用GET訪問
表示客戶端自從上次請求後,請求的網頁未修改過。伺服器返回此響應時,不會返回網頁內容。
304通常在IE瀏覽器下多次請求同一個地址出現的。
場景:刪除表格其中一條數據後重新請求列表數據渲染表格,第二次請求時狀態碼是304導致被刪除的數據還是出現在前端。
原因:IE瀏覽器下同一地址的ajax請求優先讀取本地緩存數據
解決方法:在請求地址後面加上時間戳,保證每次請求的地址都不一樣,這樣瀏覽器就無法讀取緩存。
表示請求報文存在語法錯誤或參數錯誤,伺服器不理解 ,需要修改請求內容後再次發送
表示發送的請求需要有HTTP認證信息或者是認證失敗了
返回401的響應必須包含一個適用於被請求資源的WWW-Authenticate首部以質詢用戶信息
表示對請求資源的訪問被伺服器拒絕了,通常是 沒有許可權或者跨域 。
表示伺服器找不到請求的資源
表示請示方式不對,注意檢查method,比如後端定義post請求方式而我們用了get,delete,put,path等方式均報錯。
表示伺服器執行請求的時候出錯了。(後端的問題)
表示伺服器超負載或正停機維護,無法處理請求
以上,如有錯誤歡迎指正,如果喜歡還請點個贊再走,謝謝!更多項目實戰源碼請移步我的 碼雲地址
Ⅷ ajax請求介面里的數據,然後顯示在頁面里
1、在模板中使用了jQuery插件封裝的ajax,我用到的是get請求,這在django中涉及到模板和靜態文件的使用。
Ⅸ 前端中 前端ajax重要嗎
Ajax 是web端與後台連接的一種方式,主要是通過ajax請求後台介面,獲取頁面數據。必須重要
Ⅹ 初識ajax
ajax是一種技術方案,但並不是一種新技術。它依賴的是現有的CSS/HTML/JavaScript,而其中最核心的依賴就是瀏覽器提供的XMLHttpRequest對象,是這個對象使得瀏覽器可以發出HTTP請求與接收HTTP響應,實現在頁面不刷新的情況下和服務端進行數據交互。瀏覽器升級之後,出現了fetch,也可以認為是ajax的一種實現。(兼容性差)
使用XMLHttpRequest對象來發送一個Ajax請求。
status:200-300表示正常狀態碼。
status:404表示這個文件不存在。
status:503伺服器收到了請求但是內部報錯了。
status:304表示這個數據是有緩存的。
readyState:存有XMLHttpRequest的狀態。從0~4發生變化
只要readyState屬性的值由一個值變成另一個值,都會觸發一次readystatechange事件。必須在調用open()之前指定onreadystatechange事件處理程序才能保證跨瀏覽器兼容性。與其他事件不同的是,這里沒有向readystatechange事件處理程序中傳遞event對象,必須通過XHR對象本身來確定下一步該怎麼做。
在接受響應之前,還可以調用abort()方法來取消非同步請求,
調用這個方法之後,XHR對象會停止觸發事件,而且也不在允許訪問任何與響應有關的對象屬性。
XMLHttpRequest標准又分為Level 1和Level 2。
1.缺點:
此屬性可以設置HTTP請求的時限。與之相關的是timeout()事件,用來指定回調函數。
timeout屬性表示請求在等待多少毫秒之後就終止,再給timeout設置一個數值後,如果在規定的時間內瀏覽器還沒有接收到響應,那麼就會觸發timeout事件,進而會調用ontimeout事件處理程序。如果在超時終止請求之後再訪問status屬性,就會導致錯誤。為避免瀏覽器報告錯誤,可以將檢查status屬性的語句封裝在一個try-catch語句中。
ajax直接傳送FormData對象與點擊submit提交網頁表單的效果是一樣的。
使用FormData的優點:不必明確地在XHR對象上設置請求頭部,XHR能夠識別傳入的數據類型是FormData的實例,並配置適當的頭部信息。
假定files是一個"選擇文件"的表單元素(input[type="file"]),將它裝入FormData對象,之後發送FormData即可實現文件的上傳。
作用:指定xhr.response的數據類型。
作用:獲取response數據
作用:表示發送數據。
xhr.send(data)的參數data可以是以下幾種類型:
阮一峰:XMLHttpRequest Level 2 使用指南
你真的會使用XMLHttpRequest么?
《javascript高級程序設計》
飢人谷前端教程