導航:首頁 > IDC知識 > ajax訪問伺服器

ajax訪問伺服器

發布時間:2020-11-12 17:49:56

1、jquery ajax是不是得有伺服器環境才能運行啊?

你好!!

是的,jquery ajax需要向伺服器發出http請求,然後通過響應進行後續處理。
你說的「在靜態頁是不是運行不了」,指的是請求的是靜態頁么?
ajax請求可以訪問靜態頁面,也可以訪問動態頁面。其實所謂靜態或動態,只是說數據的生成形式而已。

搭建一個伺服器環境,有簡單的也有復雜的。

2、js中怎樣用ajax把值傳給伺服器

xhr.open('get', 'check_username.do?username=韓梅梅',true);
xhr是ajax對象
這行代碼能看懂吧
'check_username.do?username='
這句的意思就是想check_username.do發送請求
傳入的變數是username 值為 韓梅梅
這個值只能是字元串
在java中通過request.getParameter("username")獲取

3、本地的網頁如何通過ajax發送並獲取伺服器的數據

jQuery 是js的一種框架 。他的實現方式比較簡單。jQuery的下載你可以百度一下。我簡要說明一下他的使用。


$.post() 方法


$.post() 方法通過 HTTP POST 請求從伺服器上請求數據。


語法:

$.post(URL,data,callback);

必需的 URL 參數規定您希望請求的 URL。

可選的 data 參數規定連同請求發送的數據。

可選的 callback 參數是請求成功後所執行的函數名。

下面的例子使用 $.post() 連同請求一起發送數據:

實例:

$("button").click(function(){
  $.post("demo_test_post.asp",
  {
    name:"Donald Duck",
    city:"Duckburg"
  },
  function(data,status){
    alert("Data: " + data + " Status: " + status);
  });
});



講解一下原理 :

從你的瀏覽器發送一個非同步請求 post樣式的 到伺服器。

伺服器接收請求。並按請求的內容返回數據。

瀏覽器接收伺服器傳回的結果。


如果你想看這個過程,那就去下載抓包軟體。 抓一下數據包就清楚了。

4、怎麼利用ajax非同步請求調用伺服器上的html靜態頁面?

這個請求是有區別的,最大的區別就是是否跨域。具體跨域是怎麼界定的,你自己去查資料吧。只要記住一點,跨域就是用域來區分的,不管文件是不是在同一個地方。也就是說同一個文件夾也可能會產生跨域問題。

請求本域名下的文件,只要寫標準的ajax請求即可。我想基本的寫法你是會了的,我這就不寫了。但是我建議你去看看原生的怎麼寫的,因為你了解原生怎麼寫的,你就不知道jQ只要一個load就幹完的事到底幹了什麼。就像1+1可以得到2,但是你用了兩天時間解開的一個方程式也可以得到2,同樣是2,但是絕對不一樣。

現在來說跨域。只說解決方法。跨域一般情況下有三種解決方法。第一種就是幹掉產生跨域的源頭——瀏覽器,修改瀏覽器的設置就可以了,這個不建議。第二種,是生產環境下最常用的,就是用伺服器設置解決。你請求自己的伺服器,讓自己的伺服器去請求別的伺服器上的資源,就規避了跨域問題。現在不知道你能用這種方式不。第三種,就是你自己解決,用JSONP解決。最簡單的方法,就還是用jQ。在jQ的官方文檔里搜索jQuery.ajax(),之後頁面內搜索crossDoamin,然後仔細看看就可以了。但是還是建議搜索一下JSONP是什麼。

5、ajax能不能發送https請求獲取伺服器數據

1、ajax能發制送https請求獲取伺服器數據。

6、jquery的ajax訪問伺服器json數據的url怎麼寫

不太明白,是json里有url這個參數,還是jquery訪問後台的url,
$.ajax(
url:"**",
type:"post",
data:"***向後台傳遞的參數",
dataType:"json",
success:function(msg){
alert("成功");//msg為後台返回值
}
);
url看你採用得是什麼語言,如java servlet,url地址就是servlet的映射,struts的話,就是配置文件里的action映射

7、ajax訪問伺服器status返回404

配置文件寫錯了,result的文件名書寫不正確。

0: (Uninitialized) the send( ) method has not yet been invoked. 

1: (Loading) the send( ) method has been invoked, request in progress. 

2: (Loaded) the send( ) method has completed, entire response received. 

3: (Interactive) the response is being parsed. 

4: (Completed) the response has been parsed, is ready for harvesting.

8、Ajax在本地運行沒有問題,但是我把網站發布到伺服器上去,訪問出現好像沒反映了

看看復你的web.config是否制配置支持路徑查詢

在web.config的system.web節內添加
<webServices>
<protocols>
<add name="HttpSoap"/>
<add name="HttpPost"/>
<add name="HttpGet"/>
<add name="Documentation"/>
</protocols>
</webServices>

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、javascript使用ajax請求數據的url所指向伺服器端文件是怎樣的?

回答你的

問題1:但是不知道這個鏈接所指向的文件是用什麼語言寫的?

答:php語言、asp語言、java等伺服器端腳本語言

問題2:js的ajax請求支持什麼樣格式的文件?

答:我想你問的是發送的ajax請求的數據類型吧?也就是你上面例子中的data,

這個是有三種

{

    1.text文本類型(即普通字元串)

    2.xml

    3.json

}

問題3:然後怎麼向我使用apache創建的web網站請求到數據?

答:

ajax_demo01.html文件

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>ajax無刷新彈窗</title>
<script type="text/javascript" src="./public.js"></script>
<script type="text/javascript">
/*動態綁定事件*/
window.onload = function() {
$('btn').onclick = function() {
//1.創建Ajax對象
var xhr = createXhr();
//2.初始化
xhr.open('get', 'ajax_demo01.php');
//3.當狀態碼發生改變時,自動執行的回調函數
xhr.onreadystatechange = function() {
//判斷狀態碼變化值
if (xhr.readyState == 4) {
//狀態接收完畢時,彈出內容字元串
alert(xhr.responseText);
}
;
}
//4.發送Ajax請求(由於是get請求,所以,請求數據在url,這里傳Null)
xhr.send(null);
}
}
</script>
</head>
<body>
<input type="button" id="btn" value="確定">
</body>
</html>

自己封裝的public.js文件

function createXhr(){
try{
return new XMLHttpRequest();
}catch(e){

}
try{
return new ActiveXObject('Microsoft.XMLHTTP');
}catch(e){

}
alert("Ajax對象由於瀏覽器罕用而創建失敗");
}

function $(id){
return document.getElementById(id);
}

ajax_demo01.php文件

<?php
echo "hello ajax";

與ajax訪問伺服器相關的知識