日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ajax常见错误和使用总结

發布時間:2023/12/4 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ajax常见错误和使用总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先給出標準的js時間ajax

?

<script type="txt/javascript">//1、在IE中實例化Msxml2.XMLHTTP對象 Msxml2.XMLHTTP是IE瀏覽器的內置對象,該對象具有異步提交數據和獲取結果的功能var xmlHttp=false; function initAJAX() {if(window.XMLHttpRequset){xmlHttp=new XMLHttpRequest();}else if(window.ActiveXObject){try { xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){window.alert("該瀏覽器不支持AJAX");}} } } //2、指定異步提交的目標和提交方式,調用xmlHttp的open方法true 表示異步請求 xmlhttp.open("get","info.jsp","true"); //3、指定當xmlHttp狀態改變時,需要進行處理//xmlHttp的狀態不斷變化,其狀態保存在xmlHttp的readyState屬性中,用xmlHttp.readyState表示,常見readyState屬性如下 //0:為初始化狀態,對象以創建,尚未調用open() //1:已初始化狀態,調用open()方法以后 //2:發送數據狀態,調用send()方法以后 //3:數據傳送狀態,已經接受到部分數據,但接受尚未完成 //4:完成狀態,數據全部接受完成 xmlHttp.onreadystatechange=function() {//處理代碼if(xmlHttp.readyState==4){infoDiv.innerHTML=xmlHttp.responseText;} } //還可以infoDiv.innerText中,xmlHttp.responseText表示目標文件得到的輸出的文本內容,xmlHttp.responseXml表示提交目標得到的xml格式的數據,//或者xmlHtttp.onreadyStatechange=handle;function handle() {//處理代碼 }//調用xmlHttp的send函數 如果請求方法是get的話,send可以沒有參數,或者參數是null,如果請求方式的post,可以將需要傳送的內容傳入send函數中以字符串的形式發出,及時是post //即使是post提交方式send函數還是可以將參數置空,可以將參數放在url后面進行請求。xmlhttp.send(); </script>


然后我們一般用jquery實現比較多點,這樣避免了瀏覽器不兼容

?

?

$.ajax({type: "POST",contentType: "application/json",url: "WS_Page.asmx/InitList",data: "{id:'" + $("#txtId").val() + "',url:'" + $("#txtUrl").val() + "',ip:'" + $("#txtIp").val() + "'}",datatype: 'json',cache: false,success: function(json) {var objlist = eval(json.d); $.each(objlist, function(n, obj) {strhtml += "<tr >";strhtml += "<td>";strhtml += obj.id;strhtml += "</td>";strhtml += "<td>";strhtml += obj.url;strhtml += "</td";strhtml += "<td>";strhtml += obj.ip;strhtml += "</td>";strhtml += "<td>";strhtml += obj.updatetime;strhtml += "</td>";strhtml += "<td>";strhtml += "<input type='button' value='編輯'onclick='javascript:location.href=\"Manager.aspx?id=" + obj.id + "\"'/>??";strhtml += "<input type='button' value='刪除'onclick='deleteInfo(" + obj.id + ")'/>";strhtml += "</td>";strhtml += "</tr>";}) $("#liststr").append(strhtml);},error: function(err) {alert(err.responseText);}});

當然我們也可以用for循環,但是這個時候的話

success: function(json){for(var i=0;i<json.length;i++){json.name}}

這樣寫是錯的啊,切記,得不到數據的,忘記了寫坐標,下面是對的。

?

?

success: function(json){for(var i=0;i<json.length;i++){json[i].name}}

?

?

不知道大家看到過jquery API 沒有?

?

$.ajax()

?

返回的是xmlRequest對象,已經封裝好了,如我們想通過驗證 return false 或者 return true 是得不到結果值的,這個原因我看了API才知道

?

比如:

$.ajax({type: "POST",contentType: "application/json",url: "WS_Page.asmx/InitList",data: "{id:'" + $("#txtId").val() + "',url:'" + $("#txtUrl").val() + "',ip:'" + $("#txtIp").val() + "'}",datatype: 'json',cache: false,success: function(json) {return false;},error: function(err) {alert(err.responseText);}});

這樣寫就錯了 因為不會返回 false 可以這么寫

?

?

var boo=true; $.ajax({type: "POST",contentType: "application/json",url: "WS_Page.asmx/InitList",data: "{id:'" + $("#txtId").val() + "',url:'" + $("#txtUrl").val() + "',ip:'" + $("#txtIp").val() + "'}",datatype: 'json',cache: false,success: function(json) {boo=false;},error: function(err) {alert(err.responseText);}});


我們拿到boo的值就可以操作我們相關的函數了。

?

還有拼接字符串的時候

url:'" + $("#txtUrl").val() + "',ip:'" + $("#txtIp").val() + "'}",

?

一定要記得加單引號,切記。

?

總結

以上是生活随笔為你收集整理的ajax常见错误和使用总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。