1、ajax請求發數據後,伺服器端php如何接收?
ajax也有多種提交數據方式的,也是有get和post等,和表單數據一樣接收
2、ajax 請求為post時,伺服器端如何獲取參數
這取決於襲post時的mime類型以及後台語言。比如默認情況下mime類型應該是application/x-www-form-urlencoded,後台語言假定是php,則這樣讀取:
$_POST["key"]
如果是asp則這樣: request.form("key") 或 request("key")
另外,當上傳的是文件時,則mime類型通常是multipart/form-data
如果上傳的是json對象,則類型為application/json
不同的類型,後台就要用不同的方式去處理。
3、ajax從伺服器端獲取數據,獲取的是伺服器那些數據?全部數據嗎,?
AJAX即「Asynchronous Javascript And XML」(copy非同步JavaScript和XML),是指一種創建互動式網頁應用的網頁開發技術。通過在後台與伺服器進行少量數據交換,AJAX 可以使網頁實現非同步更新。這意味著可以在不重新載入整個網頁的情況下,對網頁的某部分進行更新。
具體獲取多少數據,返回什麼樣格式的數據,是你的後台控制的,是取決於你想讓它返回什麼數據,你是應該知道的。
4、java伺服器端怎麼設置ajax 的跨域請求頭
在服務端設置response.setHeader("Access-Control-Allow-Origin", "*");即可。
Access-Control-Allow-Origin:* 表示允許任何域名跨域訪問
如果需專要指定某域名才允許跨域訪問,屬只需把Access-Control-Allow-Origin:*改為Access-Control-Allow-Origin:允許的域名
例如:response.setHeader("Access-Control-Allow-Origin", "http://www.client.com");
5、javascript使用ajax請求數據的url所指向伺服器端文件是怎樣的?
回答你的
問題1:但是不知道這個鏈接所指向的文件是用什麼語言寫的?
答:php語言、asp語言、java等伺服器端腳本語言
問題2:js的ajax請求支持什麼樣格式的文件?
答:我想你問的是發送的ajax請求的數據類型吧?也就是你上面例子中的data,
這個是有三種
{
1.text文本類型(即普通字元串)
2.xml
3.json
}
問題3:然後怎麼向我使用apache創建的web網站請求到數據?
答:
ajax_demo01.html文件
自己封裝的public.js文件
ajax_demo01.php文件
6、ajax怎麼與服務端異
AJAX,即Asynchronous Javascript And XML,AJAX本質是在協議的基礎上以非同步的方式與伺服器進行通信。
所謂的非同步,是指某段程序執行不會阻塞其他程序執行,其表現形式為程序的執行順序不依賴程序本身的書寫順序。
從而提升整體執行效率。
1:客戶端請求
js內置http請求對象 XMLHttpRequest;
a、請求行
xhr.open() 發起請求,可以是get、post方式
get和post請求方式的差異
1、GET沒有請求主體,使用xhr.send(null)
2、GET可以通過在請求URL上添加請求參數
3、POST可以通過xhr.send('name=itcast&age=10')
4、POST需要設置
5、GET效率更好(應用多)
6、GET大小限制約4K,POST則沒有限制
b、請求頭
xhr.setRequestHeader() 設置請求頭
c、請求內容
xhr.send() 發送請求主體 get方式使用xhr.send(null)
2:服務端相應
HTTP響應是由服務端發出的,由於伺服器做出響應需要時間(比如網速慢等原因),所以我們需要監聽伺服器響應的狀態,然後才能進行處理。
a、獲取狀態行(包括狀態碼&狀態信息)
xhr.status 狀態碼,如200、304、404等; xhr.statusText 狀態碼信息如OK;
b、獲取響應頭
xhr.getResponseHeader('Content-Type')獲取指定頭信息;xhr.getAllResponseHeaders();獲取全部響應頭信息;
c、響應主體
xhr.responseText xhr.responseXML 都表示響應主體,我們需要檢測並判斷響應頭的MIME類型後確定使用request.responseText或者request.responseXML。
onreadystatechange是Javascript的事件的一種,其意義在於監聽XMLHttpRequest的狀態,各種狀態如下:
**readyState**
0:請求未初始化(還沒有調用 open())。
1:請求已經建立,但是還沒有發送(還沒有調用 send())。
2:請求已發送,正在處理中(通常現在可以從響應中獲取內容頭)。
3:請求在處理中;通常響應中已有部分數據可用了,但是伺服器還沒有完成響應的生成。
4:響應已完成;您可以獲取並使用伺服器的響應了。
7、請求一個關於AJAX向伺服器發送請求並且接收伺服器返回的數據的問題?
第一個問題:先搞清ajax的底層通信形式,ajax發出請求後等待回復,也就是監回聽某個信息埠,伺服器接答到請求後,發送結果,也就是向某個埠寫信息,所以,不管在形式上編程上有什麼不同,都是向這個ajax所在地的信息埠輸出信息。
第二個問題,response==0是將response轉換為int類型再對比,肯定正確,而response肯定不等於"0",因為out.println("0"),println這個方法就是在輸出的字元串後加一個回車,你可以將response轉換為ascii碼看看是不是這樣。
8、ajax 伺服器端怎麼寫
在前端向伺服器發送請求,並且傳參數。在伺服器端用GET 或者 POST 獲取前端傳來的參數,用這些參數向資料庫進行查詢並返回結果,結果可以用數組等方式返回,只需在被請求的PHP代碼中echo 出來即可,想知道具體的原理,建議看一下jQuery庫的源碼。
9、怎樣實現用ajax向伺服器發送請求並接收伺服器返回的數據,並在HTML頁面的Table中顯示?
比如伺服器上有張表或者list
id name sex
1 張三 男
2 李四 女
3 王五 男
你首先在後台代碼中把這個表處理成為JSON格式然後用Response.write的方法輸出來,比如這樣
[{id:1,name:'張三',sex:'男'},{id:2,name:'李四',sex:'女'},{id:3,name:'王五',sex:'男'}]
JSON是用於在JS中描述實體對象的一種方式,具體關於JSON的知識可以看w3school.com.cn上的相關內容,我這兒就不給你細講了,很簡單,我只說做法:
為了方便使用,你需要在你的頁面中引用jQuery庫,我不知道你用什麼語言做的後台程序,原理一樣
$.ajax({
url:"這里換成你寫好的用於把表轉換成JSON的後台處理文件地址,比如a.aspx?參數",
type:"POST",//這里是AJAX請求的方式
dataType:"JSON",//如果你回發的內容是JSON格式的就用這個,否則用Text或其他
data:{
參數1:值,
參數2:值,
......
參數n:值
},//要發送的參數,如果無參數可以不寫此項
success:function(data)
{
//此處寫入發送成功後要處理的代碼,而參數里的這個data,就是請求成功後返回來的上面那個格式的JSON,你可以用data[i]的值來取其中一行,如取張三的數據就是
data[0].name,就取出了張三的name屬性
所以你可以在這里用循環去處理data,然後將結果用document.write的方式輸出來就完成了。
},
error:function(XMLHttpRequest,Error,F)
{
//出錯後可以在這里給出提示,Error參數表示錯誤信息
}
});
還有弄不清楚的地方可以繼續和我探討。
10、伺服器端如何判斷ajax請求方式
你指的請求方式是指抄GET、POST、HEAD、OPTIONS、PUT、DELETE、TRACE、CONNECT么?
那麼分析http頭就能看到了
get方式:
post方式:
等等
不管你用的是什麼後台語言,一定會有獲取http頭的方法,甚至有直接獲取請求方式的方法,看看API吧,應該很容易解決的。
有可能你指的請求方式是Content-Type如果是指這個的話那麼同理請客戶端設置了,服務端一樣通過http頭獲取。