在Html5中與服務器交互


轉自原文 在Html5中與服務器交互

 

剛剛涉足職場,上頭就要我研究HTML5,內嵌到手機上,這對我來說完全是一個陌生的領域,不過也正好給自己一個機會來學習,最近做到要跟服務器交互這部分,這部分可是卡了很久,不過最終還是解決了。下面介紹兩種方法:

  • ajax
  • Cordova Http

首先要說明一點,如果是在PC端上進行交互的話,這就是跨域問題,需要服務器那邊進行一些修改,否則的話是不能訪問的。我一開始也是在PC端上測試的,所以這個問題一直卡了很久,原來只要內嵌到手機上就不存在跨域問題了,真蛋疼~,所以我介紹的兩張方法都是基於內嵌到手機上的,要注意了!

ajax及使用

如果是用原生態的ajax寫訪問的話,就比較麻煩,所以這次我用的是jQuery封裝好的ajax,先上代碼:

$.ajax({
        type:"GET",
        url:"***",
        dataType:"json",
        data:{
            appId:"",
            passportCode:"*******",
            clientTye:"android",
        },
        success:function(data){
            alert("訪問成功" + JSON.stringify(data));
        },
        error:function(jqXHR){
            alert("發生錯誤" + jqXHR.status);
        }
    });

這里面有好幾個字段,這幾個字段的意思是:

字段 描述
type 指明是get操作還是post操作
url 要訪問的地址,就是服務器提供的接口
dataType 服務器預期返回的數據格式,如(xml,json,html)
data 參數
success 訪問成功時的回調函數
error 訪問失敗時的回調函數

補充說一下:success:function(data,textStatus,jqXHR)這三個參數是可選的,我習慣就只帶一個參數,就是data。這個返回的data已經是json對象來的,可以直接解析的。假如返回的是
{
result:0,
description : ””,
hasNewVersion : ””,
verson: “”,
url:““,
clientType:““ ,
updateDesc:““ ,
updateTime:““ ,
mustUpdate:””
},
那么data.result就是0了,是不是覺得很方便呢。效果圖:
這里寫圖片描述

Cordova Http

這種方法是要基於你的項目是cordova項目。這里稍微說兩句,cordova前身是phoneGap,其實兩者是一樣的,都是移動web的開發框架,有興趣的可以去了解一下!由於這篇文章(Cordova環境安裝配置 )主要是講如何使用這個插件,環境搭建的就不說了。

  • 安裝插件
    在命令行里面進入到自己的項目里面:
    這里寫圖片描述
    點擊回車,等待一會就可以了,再打開自己的項目的plugins,就可以看到cordova-plugin-http這個文件,證明插件安裝成功了!
    這里寫圖片描述

  • 使用

cordovaHTTP.post("url地址", {
            appId:"",
            phone:"",
            password:"",
            clientTye:"web", //參數
        }, {//這個我基本一直都是空的}, 
        function(response) { //成功回調的函數
            // prints 200
          alert(response.status + "訪問成功" + "\n返回的json數據     為:" + response.data);
            try {
                //轉化為json對象
                var jsonbj = JSON.parse(response.data);
            } catch(e) {
                console.error("JSON parsing error");
            }
        }, function(response) { //失敗回調的函數
            // prints 403
            alert("訪問失敗" + response.status + "、" + response.data);
            //prints Permission denied
            console.log(response.error);
        });

 

這個也沒什么好說的,看完之后也明白的了。
具體請參考[https://github.com/wymsee/cordova-HTTP][2].

其實這個難度也不是很大的,只要看一下就知道怎樣用了,希望對大家和對自己也有用!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM