關于Ajax的疑難雜癥詳解
跨域問題
如圖所示,這是通過jquery封裝的ajax請求了一個本地的php文件(無框架),console提示CORS策略已阻止“來自來源”的“null”:請求的資源上不存在“訪問控制允許來源”標頭。
解決方案
設置header頭
header("Access-Control-Allow-Origin: *");
允許所有域名請求
header("Access-Control-Allow-Origin: http://127.0.0.1");
允許一個域名請求
<?php header("Access-Control-Allow-Origin: *"); function index(){ sleep(2); return json_encode(['code'=>8888888]); } echo index(); ?>
請求成功進error問題
這多半是因為你要求返回的是json格式的數據,但實際返回的數據不是正確的json數據
<script> var data = { parent:1 } $.ajax({ type: "POST", url: "http://127.0.0.1", dataType:'json', success: function (response,index,obj) { console.log(obj.done(function() { //延遲請求成功后的回調 alert("$.get succeeded"); })); console.log(index); //log success console.log("成功",response); //請求成功返回的數據 }, error(res){ console.log("失敗",res); } }); </script>
Ajax的第一個字母是asynchronous的開頭字母,這意味著所有的操作都是并行的,完成的順序沒有前后關系。$.ajax()的async參數總是設置成true,這標志著在請求開始后,其他代碼依然能夠執行。強烈不建議把這個選項設置成false,這意味著所有的請求都不再是異步的了,這也會導致瀏覽器被鎖死。
總結
到此這篇關于Ajax的疑難雜癥的文章就介紹到這了,更多相關Ajax疑難雜癥內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
你的jquery ajax無效和你的jquery引入路徑有關
當你發現你的jquery ajax無效的時候,不妨使用 fire bug調試一下,這時你會發現,提示"$"無效,為什么會有這種提示呢?可能是你引入jquery.js的路徑有問題2013-06-06jQuery+Ajax+PHP實現“喜歡”評級功能附源碼下載
有同學問我如何實現一個像美麗說那樣的“我喜歡”評級功能,當用戶看到自己喜歡的圖片或文章時,點擊“紅心”按鈕,系統會自動記錄用戶的點擊,并將總數加1。這樣再結合不同的系統,可以將此功能應用到投票或收藏商品中去(如淘寶的收藏商品)。2015-10-10
最新評論