自己的項(xiàng)目結(jié)合MVC實(shí)現(xiàn)ajax跨域調(diào)用

  好久沒寫東西了,自我檢討一下,寫不完這篇不下班?。?/p>

創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來,公司自成立以來始終致力于為企業(yè)提供官網(wǎng)建設(shè)、移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù)開發(fā)(小程序制作、手機(jī)網(wǎng)站建設(shè)、重慶APP開發(fā)等),并且包含互聯(lián)網(wǎng)基礎(chǔ)服務(wù)(域名、主機(jī)服務(wù)、企業(yè)郵箱、網(wǎng)絡(luò)營(yíng)銷等)應(yīng)用服務(wù);以先進(jìn)完善的建站體系及不斷開拓創(chuàng)新的精神理念,幫助企業(yè)客戶實(shí)現(xiàn)互聯(lián)網(wǎng)業(yè)務(wù),嚴(yán)格把控項(xiàng)目進(jìn)度與質(zhì)量監(jiān)控加上過硬的技術(shù)實(shí)力獲得客戶的一致贊譽(yù)。

  最近在做一個(gè)項(xiàng)目模塊通用的分享功能插件,由于各個(gè)模塊調(diào)用所以會(huì)出現(xiàn)跨域問題,正好之前同事解決過,于是自己親身實(shí)踐把這次解決問題的經(jīng)歷記錄下來。閑言少敘,書歸正傳~

   首先,項(xiàng)目背景,一個(gè)基于jquery的分享插件開發(fā),自己也是嘗試著寫這么個(gè)東西,第一次寫,質(zhì)量肯定差,下次博文把這次開發(fā)經(jīng)歷寫出來。由于這次解決ajax跨域的方法很簡(jiǎn)單,我就粘貼代碼簡(jiǎn)單說明一下。

  第一步:編寫后臺(tái)程序,MVC下代碼如下:

 

     //這是一個(gè)獲取某個(gè)用戶的通訊錄分組方法
      public ContentResult GetContactGroup(int? UserID)
        {
            var list = addressBook.GetContactGroup(UserID);
            return CallbackApi(list);
        }
        //將list轉(zhuǎn)換為Json格式
      private ContentResult CallbackApi(object data, bool isJson = false)
        {
            string callback = Request.QueryString["callback"];
            return Content(string.Format("{0}({1})", callback, isJson ? data : serializer.Serialize(data), "text/plain", System.Text.Encoding.UTF8));
        }

好,上述代碼很簡(jiǎn)單,下面看一下前端代碼:

 $.getJSON("http://xxxxx/shareresource/GetContactGroup?UserID=" + this.userid + "&callback=?", function (data) { //自己的業(yè)務(wù)處理});

代碼很簡(jiǎn)單,就是用Jquery的 getJSON方法,傳參數(shù)把callback傳過去,程序運(yùn)行結(jié)果如下:

自己的項(xiàng)目結(jié)合MVC實(shí)現(xiàn)ajax跨域調(diào)用

那么,這樣 function(data)就相當(dāng)于執(zhí)行這個(gè)方法了。然后做data處理就OK了,是不是很簡(jiǎn)單啊。

總結(jié):1.前提是兩個(gè)域名的項(xiàng)目都是自己的,這樣可以做callback參數(shù)傳參和接收。

附錄:插件效果

插件域名:xyyresource.app.XXX.cn(涉及公司項(xiàng)目保密,暫不透漏)

調(diào)用地址    http://localhost:4081/#

實(shí)現(xiàn)了跨域名調(diào)用,那么效果如下:

自己的項(xiàng)目結(jié)合MVC實(shí)現(xiàn)ajax跨域調(diào)用

紅框內(nèi)的數(shù)據(jù)均是從另一個(gè)域名通過跨域讀取讀來的,那么這樣的話,只要把插件js引用上,任何域名都可以使用這個(gè)插件,這樣就實(shí)現(xiàn)了插件共享效果了。并且可維護(hù)性增強(qiáng)。下一期,我將把分享插件開發(fā)過程記錄下來。就寫到這吧,雖然沒人看,但還是對(duì)自己的總結(jié)。繼續(xù)加油??!

分享題目:自己的項(xiàng)目結(jié)合MVC實(shí)現(xiàn)ajax跨域調(diào)用
鏈接URL:http://bm7419.com/article34/gejhse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站虛擬主機(jī)、電子商務(wù)、軟件開發(fā)、網(wǎng)站制作、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名